论文部分内容阅读
实时操作系统是一种能在边界时间内提供所需级别服务的操作系统。它能够明确说明它的每一个系统服务运行所需的最长时间,运行在它上面的任务的行为都是可预测的。实时操作系统又可分为“软实时”(soft real-time)和“硬实时”(hard real-time)两种。软实时指的是统计意义上的实时,一般指整体吞吐量大或整体响应速度快,但不能保证特定的任务在指定的时间内完成。硬实时则是指时间要求必须被严格保证的实时。为了保证实时系统能够正常的工作在充满电磁干扰,辐射,高运算负载的恶劣环境下,构成实时系统的硬件部分和软件部分应非常可靠。在实时运算科研领域,需要研究的问题有很多,譬如计算机体系结构,容错计算,操作系统等。而如何达到精确的时限要求更是一个难题。Unix(包括Linux)具有一定的软实时,但不是硬实时。因此使Linux成为真正的实时操作系统必须要对其作一些相关的改造。本文首先描述了实时系统与一般系统的区别,并研究了实时系统设计的基本原理以及实时系统的基本结构。在实时系统设计中任务分配调度与实时通信是两个关键的方面:实时通信为分布式实时系统各节点之间提供可靠可评估的通信渠道,而任务分配调度的核心任务是保证任务能够在指定时限内完成。现有标准Linux操作系统在实时处理方面存在一些不足,譬如没有高精度的记时器,不支持基于时限的调度算法,内核不可抢占等。参考现有的一些Linux实时性不强的解决办法如RT-Linux, RTAI, RED-Linux, KURT等,介绍了一种在硬件平台为Intel XScale PXA255处理器,软件平台为Linux 内核版本2.4.18上的实时操作系统的实现方法,实现了高精度记时器和基于时限的EDF算法,并在内核中插入抢断点使之成为全抢断内核。最后对改进后的实时操作系统进行了性能分析。