论文部分内容阅读
实时操作系统不同于通用操作系统之处在于系统的正确性不仅依赖于计算结果的正确性,还取决于输出结果时间的及时性。传统实时操作系统普遍属于硬实时,即系统必须满足所有计算结果的正确性和输出结果的时间正确性,否则可能出现灾难性的后果,此类系统适用于某些专用的场合如医疗设备、核电站控制、航空航天等。而另一方面,计算机的发展和可用外设资源的日益增多,过去只能在通用操作系统平台上实现的功能,如今嵌入式系统也需要,同时一些桌面系统也开始有部分实时要求。由此建立了一个新兴的实时领域——软实时操作系统。 软实时应用在时间正确性上没有传统硬实时要求苛刻,偶尔的超时是可以接受的,但要求更为广泛的功能支持,包括文件系统、网络用户界面、和数据库系统等扩展功能。但软实时在资源管理方面与传统实时相比,则显得较为松散,造成了许多情况下,实时特性难于体现的情况。为满足国内工控嵌入式、多媒体等领域的需要,本论文在研究了相关的实时系统和Linux本身的特点之后,结合了硬实时和软实时的某些优点,提出了基于面向QoS(Quality of Service)服务的实时操作系统的概念。 面向QoS的实时操作系统不但可以提供与通用操作系统同样丰富的系统调用和服务,且在开发方式上较传统实时操作系统更为简单。与此同时,在系统服务精度上如时钟管理、中断管理和进程调度等方面则接近传统实时操作系统。基于这种思想,我们开发了基于Linux的RFRTOS(RedFlag Real-Time Operating System)实时操作系统。 本人在开发RFRTOS的过程中,主要在以下三方面作了研究: □ 提高核心可抢占性。与传统是实时核心通过对系统服务的限制来达到快速响应的方法不同,QoS实时应保持系统服务的完整,在这种情况下,核心可抢占精度就成为决定系统服务精度的一个较为重要的指标,而这也是RFRTOS研究的重点,RFRTOS通过以下几个方面工作达到了基于中断服务精度的可抢占核心: ● 核心服务进程化。Linux基于宏核心的设计哲学,核心服务,包括中断处理、底半和信号处理等只有核心空间,没有进程空间,且默认具有最高的运行级别。该设计思想由于系统整体效率较高、实现简便而在通用操作系统的设计中普遍采纳;但在实时应用中,这种粗糙的核心服务粒度将造成难以预期的任务服务延迟。而将核心服务进程化,使后台的系统服务调度上可见,就增加了核心的运作的可控性,提高响应精度。 ● 基于信号量的互斥锁和优先级继承协议(Priority Inheritance Protocol,PIP)或优先级冲顶协议(Priority Ceiling Protocol,PCP)的支持。互斥条件可能造成优先级反转现象,造成高优先级任务不可预期的时延,而中科院软件所博士论文RFRTOS一一基于Linux的QoS实时操作系统 基于信号量的互斥锁和基于该互斥锁机制的优先级继承协议或优先 级冲顶协议可以解决这一问题。 .中断处理级的调度时机细化。采用宏核心的设计原则导致Linux在调 度时机上是核心服务级的,即如果存在一个未完成的系统服务,则不 进行调度。而RFRTOS在核心服务进程化的基础上,进一步增加了 调度时机的粒度,以外部事件为调度触发点,每次在中断处理返回是 判断是否需要调度,实现了中断处理级的调度时机细化,增加了系统 响应精度。 口时钟管理的精度细化。时钟作为操作系统的脉搏,是协调系统运作的一 个重要依据,一般系统的时钟频率是固定的。而尽管较快的时钟频率可 以提高服务精度,但将增加系统负担。RFRTOS采用了根据应用需求调 整的动态的时钟精度,较好地解决了系统服务精度和额外负载的矛盾。 口多调度策略支持和资源核心的框架实现。实时应用和非实时应用之间、 实时应用之间,甚至非实时应用之间,对系统调度的侧重均可能存在差 异,单一的调度机制难于满足应用的多方面要求,增加灵活的调度机制 支持成为现代操作系统必须考虑的问题之一。RFRTOS在卡内基.梅伦大 学的实时多媒体实验室提出的资源核心的思想之下,构建了基于优先级 的多调度策略支持的调度机制。RFRTOS提供了基于资源观点的调度, 改变了传统操作系统的面向服务的理念,为Qos的服务支持提供了调度 接口。 另外,在开发RFRTOS中,我们实现了读锁机制,并提出了非独占锁的优先级继承协议,扩大了基本优先级继承协议的适用范围,改进了互斥锁的效率。 我们通过测试证实了改进的合理性,目前RFRI,05已经作为红旗公司产品投入市场销售。