首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

嵌入式实时操作系统PetOS设计与实现 01

嵌入式实时操作系统PetOS设计与实现 01

1 引言

       在嵌入式领域中,嵌入式实时操作系统正得到越来越广泛的应用。采用嵌入式实时操作系统(RTOS)可以更合理、更有效地利用CPU 的资源,简化应用软件的设计,缩短系统开发时间,更好地保证系统的实时性和可靠性。由于RTOS需占用一定的系统资源(尤其是RAM 资源),只有μC/OS II、PalOS等少数实时操作系统能在小RAM 系统上运行。相对于μC/OS II[2]等商业操作系统,PalOS[1]操作系统是完全免费的操作系统,具有源码公开、内核简单等的特点。但该系统不支持任务优先级、中断等相对复杂的功能,不能很好的满足嵌入式电子设备的需要。
       2 PetOS简介

       PalOS是UCLA(加州大学洛山机分校)为传感器网络而设计微型操系统。系统轮询每个任务的消息队列,如果存在消息则调用任务相应的消息处理函数。但是这种简单的轮询机制和系统结构无法满足更为复杂的应用需求。在任务管理、系统时钟管理和中断管理等功能上,PalOS的功能都有待加强。
       PetOS以PalOS为原型,改进了任务调度算法,引入优先级的概念。每个任务可根据重要程度的不同被赋予一定的优先级, CPU总是让处于就绪态的、优先级最高的任务先运行,从而实现任务的优先级管理。PetOS还提供了严格优先级调度模式和非严格优先级调度模式,用于缓解高优先级任务持续被调度时,低优先级任务出现‘饿死’的现象。

                                                     图1 PetOS内核框架

       简单轮询或者优先级调度都无法保证系统的实时性。这两种调度都基于事件驱动,任务必须完成事件响应才会执行下一轮调度,因此系统的实时性会受到事件响应函数的粒度的影响,为了增加系统的实时性,PetOS加入了中断管理及系统时钟管理,用于提高系统的实时性。中断可以由硬件产生,也可以由应用程序产生。中断产生后,系统会及时进入中断模式进行处理,从而保证实时性要求很高的事务能得到及时的处理。

       PetOS内核框架如图1。
       3 PetOS的实现
       3.1 PETOS任务维护/调度模块
任务维护/调度模块是PetOS的核心模块 负责任务的管理和调度。
       ·TASK(任务):
       TASK是PetOS应用程序的逻辑实体,拥有独立的输入响应、消息响应和输出控制,是PetOS的调度实体。
       PetOS任务具有如下5个状态:
       ·UNREGISTER   :由于Task列表采用静态数组,此状态表示该数组项无效
       ·UNINIT:任务已经注册,但是尚未初始化,不可执行
返回列表