嵌入式实时操纵系统PetOS设计与实现.docx





《嵌入式实时操纵系统PetOS设计与实现.docx》由会员分享,可在线阅读,更多相关《嵌入式实时操纵系统PetOS设计与实现.docx(10页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、嵌入式实时操纵系统PetOS设计与实现ronggang导语:本文介绍了PetOS的技术背景,并具体阐述PetOS系统中的任务调度机制、任务治理机制以及中断治理机制的实现原理,指出PetOS在应用中的优缺点PetOS是一个自行设计的嵌入式实时操纵系统。本文介绍了PetOS的技术背景,并具体阐述PetOS系统中的任务调度机制、任务治理机制以及中断治理机制的实现原理,指出PetOS在应用中的优缺点。在嵌入式领域中,嵌入式实时操纵系统正得到越来越广泛的应用。采用嵌入式实时操纵系统RTOS可以更公道、更有效地利用CPU的资源,简化应用软件的设计,缩短系统开发时间,更好地保证系统的实时性和可靠性。由于RT
2、OS需占用一定的系统资源尤其是RAM资源,只有C/OSII、PalOS等少数实时操纵系统能在小RAM系统上运行。相对于C/OSII2等贸易操纵系统,PalOS1操纵系统是完全免费的操纵系统,具有源码公开、内核简单等的特点。但该系统不支持任务优先级、中断等相对复杂的功能,不能很好的知足嵌入式电子设备的需要。2PetOS简介PalOS是UCLA加州大学洛山机分校为传感器网络而设计微型操系统。系统轮询每个任务的消息队列,假如存在消息那么调用任务相应的消息处理函数。但是这种简单的轮询机制和系统构造无法知足更为复杂的应用需求。在任务治理、系统时钟治理和中断治理等功能上,PalOS的功能都有待加强。Pet
3、OS以PalOS为原型,改良了任务调度算法,引入优先级的概念。每个任务可根据重要程度的不同被赋予一定的优先级,CPU总是让处于停当态的、优先级最高的任务先运行,进而实现任务的优先级治理。PetOS还提供了严格优先级调度形式和非严格优先级调度形式,用于缓解高优先级任务持续被调度时,低优先级任务出现饿死的现象。图1PetOS内核框架简单轮询或优先级调度都无法保证系统的实时性。这两种调度都基于事件驱动,任务必须完成事件响应才会执行下一轮调度,因此系统的实时性会受到事件响应函数的粒度的影响,为了增加系统的实时性,PetOS参加了中断治理及系统时钟治理,用于进步系统的实时性。中断可以由硬件产生,也可以由
4、应用程序产生。中断产生后,系统会及时进入中断形式进展处理,进而保证实时性要求很高的事务能得到及时的处理。PetOS内核框架如图1。3PetOS的实现3.1PETOS任务维护/调度模块任务维护/调度模块是PetOS的核心模块负责任务的治理和调度。TASK任务:TASK是PetOS应用程序的逻辑实体,拥有独立的输入响应、消息响应和输出控制,是PetOS的调度实体。PetOS任务具有如下5个状态:UNREGISTER:由于Task列表采用静态数组,此状态表示该数组项无效UNINIT:任务已经注册,但是尚未初始化,不可执行STOP:任务停顿状态。不承受消息,不可执行。无数据图2PetOS任务状态转换图
5、RUN:任务运行状态。能承受消息,可以执行PAUSE:任务挂起状态:不能承受消息,不可执行。但保持数据。任务在PetOS启动时被注册,并常驻在操纵系统中。即操纵系统初始化完毕并启动之后,操纵系统调度的任务列表是固定的。操纵系统启动后,任务只会在运行、暂停、挂起状态之前切换。任务状态图如图2:为了方便任务的治理与控制,每个TASK都会绑定TCBtaskcontrolblock。TCB类似于当代操纵系统中进程的PCB,它记录了task的各种状态变量、控制变量以及标准接口的函数指针,便于PetOS和应用程序维护。Event事件消息:Event是PetOS进程调度的粒度单位。由于PetOS的每个任务不
6、具备独立的代码/数据段/堆栈指针,我们无法在任意的位置暂停一个task而启动另一个。PetOS的解决策略是:将task拆分成为一个个独立的由事件驱动的逻辑模块,每个task都有各自独立的事件队列。Task的每个逻辑功能都会被映射成一个事件,操纵系统通过赋予某个task响应事件的权利来完成一次调度。而操纵系统的多任务调度可以Task轮流响应事件来实现。任务的调度:图3调度算法流程图在嵌入式系统中,很多应用要求执行的优先级绝对优先,比方USB文件传输的处理。为此,PetOS采用了多级任务机制,并赋予高优先级的任务更高的执行权限。调度时,PetOs将优先调度优先级高的任务。这种调度方式保证了高优先级
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 嵌入式 实时 操纵 系统 PetOS 设计 实现

限制150内