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

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

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

4)重新链接中断函数列表和定位tmpIrqHandler找到下一个中断处理函数句柄。
       中断扩展模块-系统时钟模块和定时触发函数:
       中断机制保证了PetOS对硬件请求的实时性响应,而对于软件请求的实时性则由PetOS系统时钟/定时触发函数模块完成。该模块主要完成了两部分工作:
       ·系统时钟模块:系统每隔固定的时间产生一个时间中断。利用前面的中断机制,我们可以模拟一个准实时的,不断执行的任务。具体方法为将这段代码注册为系统时钟的中断处理函数。
       ·定时触发函数模块:为了满足嵌入式电子产品应用程序的需要,基于系统时钟模块,PetOS供了定时触发函数功能。用户可以向系统注册一个定时触发函数,并指定其被调用的时间。操作系统通过预先注册好的一个系统时钟中断处理函数来检查是否有需要的定时触发函数到期,并执行调度。
       PetOS的任务调度是以事件为单位,不可能出现两个任务同时访问同一段代码的情况。因此,大部分代码不需要考虑重入的问题。
       4 PetOS的不足及改进方向

       目前的调度算法还是存在任务优先级跨度太大的问题,高优先级的任务可能直接导至低优先级任务的“饿死”。
       PetOS不可抢占的任务调度机制,各任务无独立栈导致调度不够灵活,如果一个任务的消息处理时间很长,则其他任务的消息响应时间也会很长,使得整个系统的实时性显得较差并且无法移植阻塞式的应到到该系统中。
       PetOS并没有启用多态运行模式,而是简单的将OS core和其他应用程序的地址空间复用。这样虽然简化了系统结构,但是带来了OS core的地址空间可能被其他应用程序直接访问的隐患。
       因此调度算法及内存管理将是PetOS改进的方向。
       5 结束语

       增加了优先级调度、任务管理、中断管理、系统时钟管理后,PetOS由一个只适用于简单应用的微型操作系统蜕变为可应用于复杂环境的小型操作系统。由于PetOS的模块化结构和开放性的代码,使得各方案的扩展性和可维护性大大加强,大大缩短了方案开发、产品维护的周期和成本。目前,基于arm922硬件平台,PetOS已经实现了MP4/学习机等嵌入式消费类电子产品的方案,并已有成熟的产品上市,证明了PetOS的市场潜力。随着新的应用需求,PetOS会得到进一步完善,在嵌入式领域发挥更大的作用。
返回列表