与典型的通用操作系统差别很大的是,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总体设计思路相关推荐

  1. HTML静态页面总体设计思路,网页设计与制作(HTML+CSS+JavaScript)(张洪斌 刘万辉)课程整体设计...

    内容简介: 网页设计与制作(HTML+CSS+JavaScript)(张洪斌 刘万辉)课程整体设计 一.课程设计思路 本课程依据课程标准,以软件技术专业学生的就业岗位群能力目标为导向,以Web客户端静 ...

  2. go语言mysql操作_使用Go语言操作MySQL数据库的思路与步骤

    最近在做注册登录服务时,学习用Go语言操作MySQL数据库实现用户数据的增删改查,现将个人学习心得总结如下,另外附有代码仓库地址,欢迎各位有兴趣的fork. 软件环境:Goland.Navicat f ...

  3. 小型职工工作量c语言,计算机c语言职工工作量统计系统.doc

    <C语言课程设计>报告 题目:职工工作量统计系统 班 级: 学 号: 姓 名: 指导老师: 成 绩: 目 录 1.课程设计的目的和意义··························· ...

  4. Android 网络编程系列(5)Volley 网络框架入门

    前言 上篇文章中我们对 HttpUrlConnection 的相关用法稍作介绍,可以看到如果不对它进行封装,那么每次使用时就必须写很多重复的代码,并且需要自己创建线程进行网络连接,获取到响应结果后还需 ...

  5. 小型职工工作量c语言,计算机c语言职工工作量统计系统(20页)-原创力文档

    <C 语言课程设计>报告 题目:职工工作量统计系统 班 级: 学 号: 姓 名: 指导老师: 成 绩: 目 录 1 . 课 程 设 计 的 目 的 和 意 义 ·············· ...

  6. YOLO-6D论文的一些相关知识

    1.由输入求输出的总体设计思路 2.算法实现细节(文章的核心) 3.度量标准和实验结果 4.创新点总结 1.什么是端到端的训练或学习? 传统的图像识别问题往往通过分治法将其分解为预处理,特征提取和选择 ...

  7. Linux课程设计八音盒,单片机课程设计——八音盒精要.doc

    单片机课程设计--八音盒精要 <单片机原理及应用>课程设计 ---八音盒设计--- 院 系: 机电汽车工程学院 姓 名: 班 级: 机101-4班 组 长: 组 员: 指导教师: 姜风国 ...

  8. Stream Processing: Apache Kafka的Exactly-once的定义 原理和实现

    2018年,Apache Kafka以一种特殊的设计和方法实现了强语义的exactly-once和事务性.热泪盈眶啊! 这篇文章将讲解kafka中exactly-once和事务操作的原理,具体为 (1 ...

  9. 系统权限管理设计 (转:http://blog.csdn.net/chexlong/article/details/37697555)

    权限设计(转:http://blog.csdn.net/chexlong/article/details/37697555)      1. 前言:      权限管理往往是一个极其复杂的问题,但也可 ...

最新文章

  1. php获取数组中,相同键名的键值之和
  2. CloudStack无法添加模板和iso
  3. Hexo博客新福利:HexoEditor编辑器最新使用方法
  4. JSTL 与 JSP 代码段 相互调用变量
  5. Direct ByteBuffer学习
  6. 【音视频安卓开发 (五)】Android中获取音视频原始数据的方法
  7. 按键 粘贴上一个命令_合并单元格、选择性粘贴的快捷键都是啥?今天一次告诉你……...
  8. [js] 在不支持js的浏览器中如何隐藏JavaScript代码?
  9. mysql.socket没有_mysql启动找不见socket
  10. centos7下memcached的安装配置
  11. Drive Scope for mac(硬盘检查分析工具)
  12. 【Java】IntelliJ IDEA 14.x 与 Tomcat 集成,创建并运行Java Web
  13. NOD32 V5 企业版部署方案
  14. 苏锡常CIO俱乐部春季论坛暨2020年会(苏州站)圆满落幕!
  15. python 使用PIL工具包中的pytesseract函数识别英文字符
  16. 2019年 CCF 中国计算机学会推荐国际学术会议和期刊目录 最新版
  17. 重整晋商雄风,再现汇通天下 -------《晋商》阅读笔记第7-9章
  18. 如何将图片文字转换成文本?
  19. CSDN实训 - Java模拟二次验证码(动态令牌)
  20. 【Revit二次开发】模型中存储数据——参数和外部存储(Parameter, Schema and Entity)

热门文章

  1. Arcgis中图像裁剪
  2. 空间直线的最小二乘拟合
  3. php微信转发无法显示标题图片,解决微信公众号分享朋友圈不显示标题图片描述的方法...
  4. 通过网页直接打开微信关注页面方法
  5. c语言程序设计教程内容,(C语言程序设计教程.doc
  6. ws2812 程序设计与应用(2)DMA 控制 PWM 占空比(双缓存降低内存消耗)
  7. 在线K歌又现新模式 音遇APP能否站稳脚跟?
  8. JSD-2204-API-线程API-线程锁-Day07
  9. 阿里妈妈一面简历面-半小时直接挂
  10. Oracle数据库上机练习2