RFRTOS——基于Linux的QoS实时操作系统
【摘要】:
实时操作系统不同于通用操作系统之处在于系统的正确性不仅依赖于计算结果的正确性,还取决于输出结果时间的及时性。传统实时操作系统普遍属于硬实时,即系统必须满足所有计算结果的正确性和输出结果的时间正确性,否则可能出现灾难性的后果,此类系统适用于某些专用的场合如医疗设备、核电站控制、航空航天等。而另一方面,计算机的发展和可用外设资源的日益增多,过去只能在通用操作系统平台上实现的功能,如今嵌入式系统也需要,同时一些桌面系统也开始有部分实时要求。由此建立了一个新兴的实时领域——软实时操作系统。
软实时应用在时间正确性上没有传统硬实时要求苛刻,偶尔的超时是可以接受的,但要求更为广泛的功能支持,包括文件系统、网络用户界面、和数据库系统等扩展功能。但软实时在资源管理方面与传统实时相比,则显得较为松散,造成了许多情况下,实时特性难于体现的情况。为满足国内工控嵌入式、多媒体等领域的需要,本论文在研究了相关的实时系统和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已经作为红旗公司产品投
入市场销售。
|
|
|
|
1 |
刘军;;分布式数控系统中实时操作系统研究[J];微型机与应用;1992年05期 |
2 |
张建国;;实时操作系统的性能评价[J];软件;1995年01期 |
3 |
王志,张旭,梁力,李建辉;实时操作系统下的双网通信[J];水利水电技术;1996年05期 |
4 |
刘钰峰,李仁发,莫铁强,孙婷;实时操作系统仿真环境的UML建模[J];系统仿真学报;2002年06期 |
5 |
刘辉,王遵立,刘维亚;嵌入式实时操作系统在时钟控制器中的应用[J];长春理工大学学报;2004年02期 |
6 |
王慧娇,董荣胜,蔡国勇,古天龙;嵌入式实时操作系统μC/OS-Ⅱ在ARM处理器上的实现[J];计算机与现代化;2005年03期 |
7 |
李玉深,周祖洋,万杨;实时操作系统Vxworks下的异常处理[J];应用科技;2005年05期 |
8 |
陈新;唐震洲;胡倩;;VxWorks操作系统下IO设备驱动的开发[J];大众科技;2006年07期 |
9 |
杨尚罡;黄席樾;李宝林;张伟;;基于DSP/BIOS的隧道视频监控系统[J];重庆大学学报(自然科学版);2006年07期 |
10 |
吕锋;徐徐;郭海斌;;基于RTX51的光子嫩肤机嵌入式控制系统的设计[J];微计算机信息;2006年26期 |
11 |
王波;邓志良;;实时操作系统μC/OS-II在LPC2210上的移植[J];微计算机信息;2006年26期 |
12 |
马德新;徐鹏民;;实时操作系统μC/OS-II调度算法的研究[J];微计算机信息;2007年17期 |
13 |
苗晓锋;卫铭斐;;嵌入式实时操作系统下TCP/IP协议栈的设计[J];陕西理工学院学报(自然科学版);2007年04期 |
14 |
毛伟云;陈明;丁力;杨益;;嵌入式实时操作系统μC/OS-Ⅱ在弹载计算机上的应用[J];弹箭与制导学报;2007年04期 |
15 |
胡珏;皮佑国;;基于μC/OS-II的实时多任务应用研究[J];计算技术与自动化;2008年01期 |
16 |
张琦;曹庆年;;UC/OS-Ⅱ操作系统在AT91SAM7X系列芯片中的移植[J];科技资讯;2008年08期 |
17 |
李连豪;张欣悦;;嵌入式实时操作系统在温室干预系统中的应用[J];农业网络信息;2009年07期 |
18 |
孙惠围;孟利民;;基于RTX51 Tiny的电话远程家电控制系统设计[J];杭州电子科技大学学报;2009年05期 |
19 |
滕戈;MASSCOMP DA/CP驱动程序的原理和实现[J];计算机工程与设计;1991年02期 |
20 |
姜立俊,杨学良;一个网络文件系统——NFS的设计与实现[J];计算机工程与设计;1991年02期 |
|