嵌入式实时操作系统PetOS设计与实现
摘要PetOS是一个自行设计的嵌入式实时操作系统本文介绍了PetOS的技术背景并详细摘要阐述PetOS系统中的任务调度机制任务管理机制以及中断管理机制的实现原理指出PetOS在应用中的优缺点关键词关键词PetOS嵌入式操作系统任务调度中断管理
1引言
在嵌入式领域中嵌入式实时操作系统正得到越来越广泛的应用采用嵌入式实时操作系统RTOS可以更合理更有效地利用CPU的资源简化应用软件的设计缩短系统开发时间更好地保证系统的实时性和可靠性由于RTOS需占用一定的系统资源尤其是RAM资源只有COSIIPalOS等少数实时操作系统能在小RAM系统上运行相对于COSII等商业操作系统PalOS操作系统是完全免费的操作系统具有源码公开内核简单等的特点但该系统不支持任务优先级中断等相对复杂的功能不能很好的满足嵌入式电子设备的需要
12
2PetOS简介
PalOS是UCLA加州大学洛山机分校为传感器网络而设计微型操系统系统轮询每个任务的消息队列如果存在消息则调用任务相应的消息处理函数但是这种简单的轮询机制和系统结构无法满足更为复杂的应用需求在任务管理系统时钟管理和中断管理等功能上PalOS的功能都有待加强
PetOS以PalOS为原型改进了任务调度算法引入优先级的概念每个任务可根据重要程度的不同被赋予一定的优先级CPU总是让处于就绪态的优先级最高的任务先运行从而实现任务的优先级管理PetOS还提供了严格优先级调度模式和非严格优先级调度模式用于缓解高优先级任务持续被调度时低优先级任务出现饿死的现象
f图1PetOS内核框架
简单轮询或者优先级调度都无法保证系统的实时性这两种调度都基于事件驱动任务必须完成事件响应才会执行下一轮调度因此系统的实时性会受到事件响应函数的粒度的影响为了增加系统的实时性PetOS加入了中断管理及系统时钟管理用于提高系统的实时性中断可以由硬件产生也可以由应用程序产生中断产生后系统会及时进入中断模式进行处理从而保证实时性要求很高的事务能得到及时的处理
PetOS内核框架如图1
3PetOS的实现
31PETOS任务维护调度模块任务维护调度模块
任务维护调度模块是PetOS的核心模块负责任务的管理和调度
TASK任务任务
TASK是PetOS应用程序的逻辑实体拥有独立的输入响应消息响应和输出控制是PetOS的调度实体
PetOS任务具有如下5个状态
UNREGISTER
由于Task列表采用静态数组此状态表示该数组项无效
fUNINIT任务已经注册但是尚未初始化不可执行
STr