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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值