rtems总体设计思路
与典型的通用操作系统差别很大的是,rtems是基于扁平内存管理的层次型单体内核,应用程序与内核形成一个基于函数调用形式的整体功能单元,在一个地址空间下协同完成特定的功能,而对于普通的操作系统而言,应用程序和操作系统是处于不同的特权状态和地址空间。
系统调用是应用程序访问操作系统的接口,在接口上,通用操作系统和应用程序是处于两个不同的cpu特权态,操作系统处于核心态,应用程序处于用户态,rtems没有用户态和核心态,rtems内核和应用程序之间只是简单的函数调用关系,都处于和心态,好处是执行速度快
在内存管理方面,通用系统采用了虚拟内存的管理方式(比如linux 下的swap空间),能够让内存需求超过实际物理内存的进程能够执行,这样可以实现对不同内存区域的保护,所以一个应用的错误不会导致系统的崩溃。但无法满足实时性的要求,rtems没有采用虚拟内存,而是简单的单一地址空间管理方式,这样使得应用程序和内核在一个地址空间,直接访问,好处是确保了实时性。
在进程和线程管理方面,rtems没有进程的概念,只有线程,task。rtems的线程共享应用程序和rtems内核拥有的整个地址空间,好处是线程开销小,线程调度简单。
在文件系统管理方面,当前通用操作结合虚存管理,实现了多种复杂的文件系统。rtems有相对简单的虚拟文件系统,支持有限的嵌入式文件系统比如DOSFS(FAT)
rtems的总体结构如下:
应用服务层:TCP/IP、GUI、FIle system
系统服务层:classic API 、POSIX API、ITRON API
核心层:SUper CORE
硬件抽象层:Llb CPU、lib chip、BSP
第二层是rtems核心层,由一系列的核心组件组成,主要包括有:
与线程管理和调度相关的组件:
thread handler组件
thread queue handler组件
priority handler组件
watchdog handler组件
与同步互斥相关的组件:
mutex handler组件
等等
其他重要组件:
object handler组件
ISR handler组件
workspace handler组件
转载于:https://www.cnblogs.com/sichenzhao/p/9320317.html
rtems总体设计思路相关推荐
- HTML静态页面总体设计思路,网页设计与制作(HTML+CSS+JavaScript)(张洪斌 刘万辉)课程整体设计...
内容简介: 网页设计与制作(HTML+CSS+JavaScript)(张洪斌 刘万辉)课程整体设计 一.课程设计思路 本课程依据课程标准,以软件技术专业学生的就业岗位群能力目标为导向,以Web客户端静 ...
- go语言mysql操作_使用Go语言操作MySQL数据库的思路与步骤
最近在做注册登录服务时,学习用Go语言操作MySQL数据库实现用户数据的增删改查,现将个人学习心得总结如下,另外附有代码仓库地址,欢迎各位有兴趣的fork. 软件环境:Goland.Navicat f ...
- 小型职工工作量c语言,计算机c语言职工工作量统计系统.doc
<C语言课程设计>报告 题目:职工工作量统计系统 班 级: 学 号: 姓 名: 指导老师: 成 绩: 目 录 1.课程设计的目的和意义··························· ...
- Android 网络编程系列(5)Volley 网络框架入门
前言 上篇文章中我们对 HttpUrlConnection 的相关用法稍作介绍,可以看到如果不对它进行封装,那么每次使用时就必须写很多重复的代码,并且需要自己创建线程进行网络连接,获取到响应结果后还需 ...
- 小型职工工作量c语言,计算机c语言职工工作量统计系统(20页)-原创力文档
<C 语言课程设计>报告 题目:职工工作量统计系统 班 级: 学 号: 姓 名: 指导老师: 成 绩: 目 录 1 . 课 程 设 计 的 目 的 和 意 义 ·············· ...
- YOLO-6D论文的一些相关知识
1.由输入求输出的总体设计思路 2.算法实现细节(文章的核心) 3.度量标准和实验结果 4.创新点总结 1.什么是端到端的训练或学习? 传统的图像识别问题往往通过分治法将其分解为预处理,特征提取和选择 ...
- Linux课程设计八音盒,单片机课程设计——八音盒精要.doc
单片机课程设计--八音盒精要 <单片机原理及应用>课程设计 ---八音盒设计--- 院 系: 机电汽车工程学院 姓 名: 班 级: 机101-4班 组 长: 组 员: 指导教师: 姜风国 ...
- Stream Processing: Apache Kafka的Exactly-once的定义 原理和实现
2018年,Apache Kafka以一种特殊的设计和方法实现了强语义的exactly-once和事务性.热泪盈眶啊! 这篇文章将讲解kafka中exactly-once和事务操作的原理,具体为 (1 ...
- 系统权限管理设计 (转:http://blog.csdn.net/chexlong/article/details/37697555)
权限设计(转:http://blog.csdn.net/chexlong/article/details/37697555) 1. 前言: 权限管理往往是一个极其复杂的问题,但也可 ...
最新文章
- php获取数组中,相同键名的键值之和
- CloudStack无法添加模板和iso
- Hexo博客新福利:HexoEditor编辑器最新使用方法
- JSTL 与 JSP 代码段 相互调用变量
- Direct ByteBuffer学习
- 【音视频安卓开发 (五)】Android中获取音视频原始数据的方法
- 按键 粘贴上一个命令_合并单元格、选择性粘贴的快捷键都是啥?今天一次告诉你……...
- [js] 在不支持js的浏览器中如何隐藏JavaScript代码?
- mysql.socket没有_mysql启动找不见socket
- centos7下memcached的安装配置
- Drive Scope for mac(硬盘检查分析工具)
- 【Java】IntelliJ IDEA 14.x 与 Tomcat 集成,创建并运行Java Web
- NOD32 V5 企业版部署方案
- 苏锡常CIO俱乐部春季论坛暨2020年会(苏州站)圆满落幕!
- python 使用PIL工具包中的pytesseract函数识别英文字符
- 2019年 CCF 中国计算机学会推荐国际学术会议和期刊目录 最新版
- 重整晋商雄风,再现汇通天下 -------《晋商》阅读笔记第7-9章
- 如何将图片文字转换成文本?
- CSDN实训 - Java模拟二次验证码(动态令牌)
- 【Revit二次开发】模型中存储数据——参数和外部存储(Parameter, Schema and Entity)