第四章%20%20嵌入式实时操作系统(3).pdf
上传人:qw****27 上传时间:2024-09-12 格式:PDF 页数:44 大小:499KB 金币:15 举报 版权申诉
预览加载中,请您耐心等待几秒...

第四章%20%20嵌入式实时操作系统(3).pdf

第四章嵌入式实时操作系统(3).pdf

预览

免费试读已结束,剩余 34 页请下载文档后查看

15 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

RTEMS操作系统简介RealTimeExecutiveforMultiprocessorSystems(RTEMS),即多处理器系统实时内核是一个开放源代码的实时嵌入式操作系统RTEMS是美国OAR公司开发的,最早用于为嵌入式军用系统提供高性能的实时环境,当前在某些商用领域也获得了一定应用RTEMS是使用Ada和C语言实现的,提供任务管理、中断管理、时间管理以及多处理器管理等功能RTEMS支持的处理器™Inteli80386及以上™Inteli80960™MotorolaMC68xxx™MIPS™PowerPC™SPARC™HewlettPackardPA-RISC™HitachSH™AMDA29K™UNIXRTEMS系统功能支持多任务支持同构或异构多处理器系统支持事件驱动、基于优先级、占先的调度算法具有单调速率调度算法支持任务间的通信和同步支持优先级继承算法快速响应的中断管理支持动态存储器分配具有用户配置的能力RTEMS操作系统的特点™可移植性™可剪裁性™兼容性™开发源代码™小巧的占先式实时内核™多任务™确定性™未实现保护机制RTEMS系统结构应用程序应用程序BSDBSD套接口套接口RTEMSRTEMS接口接口CC语言支持库语言支持库POSIXPOSIX接口接口TCP/IPTCP/IP协议栈协议栈内核内核硬件抽象层硬件抽象层启动时钟控制台定时器其他处理器启动时钟控制台定时器其他处理器代码代码驱动程序驱动程序驱动程序驱动程序驱动程序驱动程序驱动程序驱动程序支持模块支持模块板级支持包板级支持包硬件硬件内核内核实现了最基本的操作系统元素,包括对中断、异常作出的反应,低级同步原语,上下文环境的切换以及通用对象资源管理等内核的实现独立于不同的应用程序编程接口模块,便于系统移植、扩展内核结构多处理器管理多处理器管理TODTOD错误管理错误管理内核内核内核内核内核内核互斥量互斥量信号量信号量消息队列消息队列中断中断管理管理扩展例程扩展例程管理管理等待线程队列等待线程队列看门狗看门狗定时器定时器线程线程对象对象动态内存分配动态内存分配双向链表双向链表堆堆RTEMS接口RTEMS接口层是可裁剪的管理程序,它的主要目标是实现特定的应用程序编程接口(API),这一层包括一组基本服务模块(任务管理、时钟管理等)和一组扩展服务模块(通用内存管理、线程间同步与通讯管理等)RTEMS接口结构双双用用存存存存端端致致单单户户多多初初定定信信储储储储II任任中中时时消消事事信信口口命命调调扩扩处处始始时时号号器器器器//务务断断钟钟息息件件号号存存错错速速展展理理化化器器量量分分区区OO管管管管管管管管管管管管储储误误率率例例器器管管管管管管区区域域管管理理理理理理理理理理理理器器管管管管程程管管理理理理理理管管管管理理器器器器器器器器器器器器管管理理理理管管理理器器器器器器理理理理器器理理器器器器理理器器器器器器器器器器对象管理在RTEMS操作系统的设计中,使用了一定的面向对象的思想,主要体现在对象概念上对象可以代表下列实体:¾任务¾消息队列¾信号量¾存储器区域¾存储器分区¾定时器¾端口¾单调速率实时调度周期对象表示对象名称:对象名称:对象名完全是任意的,用户一般选择有含义的字符组合作为对象名对象标识:对象标识:对象标识是一个唯一的32位无符号整数,通过对象标识内核可以高效地对对象进行操作链表节点链表节点对象标识对象标识类别类别节点编号节点编号索引索引对象名称对象名称对象管理对象类型枚举对象控制块无类别对象信息表IDNAME内部线程NULL对象类型RTEMS任务NULL对象标识范围POSIX线程NULL……对象数目NULL……本地对象表对象名称表POSIX条件变量FIRST待分配对象链表NULLLAST对象名称表TA01TA02……TA11TA12对象操作初始化对象信息表时,系统分配指定数量的对象控制块和相应的对象名称存储空间,将所有对象控制块分配给“待分配对象链表”,将“本地对象表”每个单元置空分配对象控制块时,系统从“待分配对象链表”的表头提取控制块,返回给请求方,并在“本地对象表”相应的单元中记录控制块的指针释放对象控制块时,系统将“本地对象表”相应单元指向的控制块插入“待分配对象链表”的表尾,并将“本地对象表”相应单元置空访问对象控制块时,系统以给定的对象标识作为索引,在“本地对象表”中取得控制块