第四章%20%20嵌入式实时操作系统(3).pdf
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《第四章%20%20嵌入式实时操作系统(3).pdf》由会员分享,可在线阅读,更多相关《第四章%20%20嵌入式实时操作系统(3).pdf(44页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、RTEMS操作系统简介?Real Time Executive for Multiprocessor Systems(RTEMS),即多处理器系统实时内核是一个开放源代码的实时嵌入式操作系统?RTEMS是美国OAR公司开发的,最早用于为嵌入式军用系统提供高性能的实时环境,当前在某些商用领域也获得了一定应用?RTEMS是使用Ada和C语言实现的,提供任务管理、中断管理、时间管理以及多处理器管理等功能RTEMS支持的处理器?Intel i80386及以上?Intel i80960?Motorola MC68xxx?MIPS?PowerPC?SPARC?Hewlett Packard PA-RISC
2、?Hitach SH?AMD A29K?UNIXRTEMS系统功能?支持多任务?支持同构或异构多处理器系统?支持事件驱动、基于优先级、占先的调度算法?具有单调速率调度算法?支持任务间的通信和同步?支持优先级继承算法?快速响应的中断管理?支持动态存储器分配?具有用户配置的能力RTEMS操作系统的特点?可移植性?可剪裁性?兼容性?开发源代码?小巧的占先式实时内核?多任务?确定性?未实现保护机制RTEMS系统结构应用程序应用程序应用程序应用程序应用程序应用程序RTEMS接口接口RTEMSRTEMS接口接口接口接口C语言支持库语言支持库C C语言支持库语言支持库语言支持库语言支持库POSIX接口接口P
3、OSIXPOSIX接口接口接口接口BSD套接口套接口BSDBSD套接口套接口套接口套接口TCP/IP协议栈协议栈TCP/IPTCP/IP协议栈协议栈协议栈协议栈内核内核内核内核内核内核硬件抽象层硬件抽象层硬件抽象层硬件抽象层硬件抽象层硬件抽象层板级支持包板级支持包板级支持包板级支持包板级支持包板级支持包时钟驱动程序时钟驱动程序时钟时钟时钟时钟驱动程序驱动程序驱动程序驱动程序控制台驱动程序控制台驱动程序控制台控制台控制台控制台驱动程序驱动程序驱动程序驱动程序定时器驱动程序定时器驱动程序定时器定时器定时器定时器驱动程序驱动程序驱动程序驱动程序其他驱动程序其他驱动程序其他其他其他其他驱动程序驱动程序
4、驱动程序驱动程序启动代码启动代码启动启动启动启动代码代码代码代码处理器支持模块处理器支持模块处理器处理器处理器处理器支持模块支持模块支持模块支持模块硬件硬件硬件硬件硬件硬件内核?内核实现了最基本的操作系统元素,包括对中断、异常作出的反应,低级同步原语,上下文环境的切换以及通用对象资源管理等?内核的实现独立于不同的应用程序编程接口模块,便于系统移植、扩展内核结构看门狗定时器看门狗定时器看门狗看门狗看门狗看门狗定时器定时器定时器定时器扩展例程管理扩展例程管理扩展例程扩展例程扩展例程扩展例程管理管理管理管理中断管理中断管理中断中断中断中断管理管理管理管理多处理器管理多处理器管理多处理器管理多处理器管
5、理多处理器管理多处理器管理TODTODTOD错误管理错误管理错误管理错误管理错误管理错误管理内核互斥量内核互斥量内核内核内核内核互斥量互斥量互斥量互斥量内核信号量内核信号量内核内核内核内核信号量信号量信号量信号量内核消息队列内核消息队列内核内核内核内核消息队列消息队列消息队列消息队列等待线程队列等待线程队列等待线程队列等待线程队列等待线程队列等待线程队列线程线程线程线程线程线程对象对象对象对象对象对象动态内存分配动态内存分配动态内存分配动态内存分配动态内存分配动态内存分配双向链表双向链表双向链表双向链表双向链表双向链表堆堆堆堆堆堆RTEMS接口?RTEMS接口层是可裁剪的管理程序,它的主要目标
6、是实现特定的应用程序编程接口(API),这一层包括一组基本服务模块(任务管理、时钟管理等)和一组扩展服务模块(通用内存管理、线程间同步与通讯管理等)RTEMS接口结构初始化管理器初始化管理器初初初初始始始始化化化化管管管管理理理理器器器器任务管理器任务管理器任任任任务务务务管管管管理理理理器器器器中断管理器中断管理器中中中中断断断断管管管管理理理理器器器器时钟管理器时钟管理器时时时时钟钟钟钟管管管管理理理理器器器器定时器管理器定时器管理器定定定定时时时时器器器器管管管管理理理理器器器器信号量管理器信号量管理器信信信信号号号号量量量量管管管管理理理理器器器器消息管理器消息管理器消消消消息息息息管
7、管管管理理理理器器器器事件管理器事件管理器事事事事件件件件管管管管理理理理器器器器信号管理器信号管理器信信信信号号号号管管管管理理理理器器器器存储器分区管理器存储器分区管理器存存存存储储储储器器器器分分分分区区区区管管管管理理理理器器器器存储器区域管理器存储器区域管理器存存存存储储储储器器器器区区区区域域域域管管管管理理理理器器器器双端口存储器管理器双端口存储器管理器双双双双端端端端口口口口存存存存储储储储器器器器管管管管理理理理器器器器I/O管理器管理器I I/OO管管管管理理理理器器器器致命错误管理器致命错误管理器致致致致命命命命错错错错误误误误管管管管理理理理器器器器单调速率管理器单调速
8、率管理器单单单单调调调调速速速速率率率率管管管管理理理理器器器器用户扩展例程管理器用户扩展例程管理器用用用用户户户户扩扩扩扩展展展展例例例例程程程程管管管管理理理理器器器器多处理器管理器多处理器管理器多多多多处处处处理理理理器器器器管管管管理理理理器器器器对象管理?在RTEMS操作系统的设计中,使用了一定的面向对象的思想,主要体现在对象概念上?对象可以代表下列实体:?任务?消息队列?信号量?存储器区域?存储器分区?定时器?端口?单调速率实时调度周期对象表示?对象名称:对象名称:对象名称:对象名称:对象名完全是任意的,用户一般选择有含义的字符组合作为对象名?对象标识:对象标识:对象标识:对象标识
9、:对象标识是一个唯一的32位无符号整数,通过对象标识内核可以高效地对对象进行操作类别类别类别类别类别类别节点编号节点编号节点编号节点编号节点编号节点编号索引索引索引索引索引索引链表节点链表节点链表节点链表节点链表节点链表节点对象标识对象标识对象标识对象标识对象标识对象标识对象名称对象名称对象名称对象名称对象名称对象名称对象管理POSIXPOSIX线程线程线程线程POSIXPOSIX条件变量条件变量条件变量条件变量RTEMSRTEMS任务任务任务任务内部线程内部线程内部线程内部线程无类别无类别无类别无类别本地对象表本地对象表本地对象表本地对象表待分配对象链表待分配对象链表待分配对象链表待分配对象
10、链表对象名称表对象名称表对象名称表对象名称表对象数目对象数目对象数目对象数目对象标识范围对象标识范围对象标识范围对象标识范围对象类型对象类型对象类型对象类型TA02TA02TA01TA01TA12TA12TA11TA11NULLNULLNULLNULLNULLNULLNULLNULLFIRSTFIRSTLASTLASTNULLNULLNAMENAMEIDID对象类型枚举对象类型枚举对象类型枚举对象类型枚举对象信息表对象信息表对象信息表对象信息表对象名称表对象名称表对象名称表对象名称表对象控制块对象控制块对象控制块对象控制块对象操作?初始化对象信息表时,系统分配指定数量的对象控制块和相应的对象名
11、称存储空间,将所有对象控制块分配给“待分配对象链表”,将“本地对象表”每个单元置空?分配对象控制块时,系统从“待分配对象链表”的表头提取控制块,返回给请求方,并在“本地对象表”相应的单元中记录控制块的指针?释放对象控制块时,系统将“本地对象表”相应单元指向的控制块插入“待分配对象链表”的表尾,并将“本地对象表”相应单元置空?访问对象控制块时,系统以给定的对象标识作为索引,在“本地对象表”中取得控制块指针返回给请求方RTEMS接口接口RTEMSRTEMS接口接口接口接口任务管理?内核支持?双向链表管理?对象管理?看门狗定时器管理?线程管理?RTEMS接口?任务管理器内核模块内核模块内核模块内核模
12、块内核模块内核模块看门狗看门狗看门狗看门狗定时器定时器定时器定时器管理管理管理管理线程管理线程管理线程管理线程管理双向链表管理双向链表管理双向链表管理双向链表管理对象管理对象管理任务管理器任务管理器任务管理器任务管理器线程控制结构?标识信息?调度信息?上下文控制?线程状态?线程启动信息?就绪任务队列?等待信息控制结构?看门狗定时器struct Thread_Control_struct Objects_ControlObject;States_Controlcurrent_state;Priority_Control current_priority;Priority_Control real
13、_priority;unsigned32 resource_count;Thread_Wait_informationWait;Watchdog_ControlTimer;MP_packet_Prefix*receive_packet;booleanis_global;booleando_post_task_switch_extension;booleanis_preemptible;void *rtems_ada_self;unsigned32 cpu_time_budget;Thread_CPU_budget_algorithmsbudget_algorithm;Thread_CPU_bu
14、dget_algorithm_calloutbudget_callout;unsigned32 ticks_executed;Chain_Control*ready;Priority_InformationPriority_map;Thread_Start_informationStart;Context_ControlRegisters;void *fp_context;void *API_Extensions THREAD_API_LAST+1;void *extensions;线程控制块就绪任务队列就绪任务队列就绪任务队列就绪任务队列等待信息控制结构等待信息控制结构等待信息控制结构等待信
15、息控制结构看门狗定时器看门狗定时器看门狗定时器看门狗定时器线程启动信息线程启动信息线程启动信息线程启动信息线程状态线程状态线程状态线程状态上下文控制上下文控制上下文控制上下文控制调度信息调度信息调度信息调度信息标识信息标识信息标识信息标识信息时间片信息时间片信息时间片信息时间片信息占先标志占先标志占先标志占先标志优先级信息优先级信息优先级信息优先级信息阻塞阻塞阻塞阻塞运行运行运行运行就绪就绪就绪就绪休眠休眠休眠休眠对象名称对象名称对象名称对象名称对象标识对象标识对象标识对象标识链表节点链表节点链表节点链表节点状态寄存器状态寄存器状态寄存器状态寄存器特殊寄存器特殊寄存器特殊寄存器特殊寄存器通用寄
16、存器通用寄存器通用寄存器通用寄存器初始优先级初始优先级初始优先级初始优先级占先标志占先标志占先标志占先标志时间片信息时间片信息时间片信息时间片信息中断级中断级中断级中断级初始堆栈初始堆栈初始堆栈初始堆栈入口参数入口参数入口参数入口参数入口函数入口函数入口函数入口函数实际优先级实际优先级实际优先级实际优先级当前优先级当前优先级当前优先级当前优先级用户算法用户算法用户算法用户算法时间片算法时间片算法时间片算法时间片算法时间片数值时间片数值时间片数值时间片数值线程控制结构线程控制结构线程控制结构线程控制结构线程状态休眠休眠休眠休眠挂起挂起挂起挂起瞬时状态瞬时状态瞬时状态瞬时状态可被信号中断状态可被信
17、号中断状态可被信号中断状态可被信号中断状态延迟延迟延迟延迟等待时刻等待时刻等待时刻等待时刻等待缓存区等待缓存区等待缓存区等待缓存区等待内存段等待内存段等待内存段等待内存段等待消息等待消息等待消息等待消息等待事件等待事件等待事件等待事件等待信号量等待信号量等待信号量等待信号量等待互斥量等待互斥量等待互斥量等待互斥量等待条件变量等待条件变量等待条件变量等待条件变量等待退出合并等待退出合并等待退出合并等待退出合并等待等待等待等待RPCRPC应答应答应答应答等待下一执行周期等待下一执行周期等待下一执行周期等待下一执行周期等待信号等待信号等待信号等待信号D0D0D4D4D8D8D12D12D16D16?
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第四 20 嵌入式 实时 操作系统
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内