计算机实时操作系统的改善措施_计算机专业优化措施

2020-02-29 其他范文 下载本文

计算机实时操作系统的改善措施由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“计算机专业优化措施”。

《计算机实时操作系统的改善措施》

摘要:

实时系统在工业、商业和军事等领域都有非常广泛的用途,并且已经有很多实际的应用。一般来说,实时系统通常是比较复杂的,因为它必须处理很多并发事件的输入数据流,这些事件的到来次序和几率通常是不可预测的,而且还要求系统必须在事先设定好的时限内做出相应的响应。因此,实时操作系统的实时性是第一要求,需要调度一切可利用的资源完成实时任务。这就要求我们设计好实时操作系统,了解实时操作系统的改善措施对我们非常重要。

关键字:实时操作系统;特点;实现技术;改善措施。

一、计算机实时操作系统的概念

实时操作系统(RTOS)是指当外界事件或数据产生时,能够接受并以足够快的速度予以处理,其处理的结果又能在规定的时间之内来控制生产过程或对处理系统作出快速响应,并控制所有实时任务协调一致运行的操作系统。因而,提供及时响应和高可靠性是其主要特点。实时操作系统有硬实时和软实时之分,硬实时要求在规定的时间内必须完成操作,这是在操作系统设计时保证的;软实时则只要按照任务的优先级,尽可能快地完成操作即可。我们通常使用的操作系统在经过一定改变之后就可以变成实时操作系统。

二、实时操作系统的特点

1、高精度计时系统

计时精度是影响实时性的一个重要因素。在实时应用系统中,经常需要精确确定实时地操作某个设备或执行某个任务,或精确的计算一个时间函数。这些不仅依赖于一些硬件提供的时钟精度,也依赖于实时操作系统实现的高精度计时功能。

2、多级中断机制

一个实时应用系统通常需要处理多种外部信息或事件,但处理的紧迫程度有轻重缓急之分。有的必须立即作出反应,有的则可以延后处理。因此,需要建立多级中断嵌套处理机制,以确保对紧迫程度较高的实时事件进行及时响应和处理。

3、实时调度机制

实时操作系统不仅要及时响应实时事件中断,同时也要及时调度运行实时任务。但是,处理机调度并不能随心所欲的进行,因为涉及到两个进程之间的切换,只能在确保“安全切换”的时间点上进行,实时调度机制包括两个方面,一是在调度策略和算法上保证优先调度实时任务;二是建立更多“安全切换”时间点,保证及时调度实时任务。

三、实时性能主要实现技术

实时操作系统的实时性是第一要求,需要调度一切可利用的资源完成实时任务。根据响应时间在微秒、毫秒和秒级的不同,可分为强实时、准实时和弱实时三种。强实时系统必须是对即时的事件作出反应,绝对不能错过事件处理时限。例如测控领域就是要求强或接近强实时系统。在机顶盒、PDA、信息家电等应用领域,系统负荷较重的时候,允许发生错过时限的情况而且不会造成太大的危害,准和弱实时系统就可满足应用。一个强实时的操作系统通常使用以下技术:

1、占先式内核

当系统时间响应很重要时,要使用占先式内核。当前最高优先级的任务一旦就绪,总能立即得到CPU 的控制权,而CPU 的控制权是可知的。使用占先式内核使得任务级响应时间得以最优化。

2、调度策略分析

任务调度策略是直接影响实时性能的因素。强实时系统和准实时系统的实现区别主要在选择调度算法上。选择基于优先级调度的算法足以满足准实时系统的要求,而 且可以提供高速的响应和大的系统吞吐率。当两个或两个以上任务有同样优先级,通常用时间片轮转法进行调度。对硬实时系统而言,需要使用的算法就应该是调度 方式简单,反应速度快的实时调度算法了。尽管调度算法多种多样,但大多由单一比率调度算法(RMS)和最早期限优先算法(EDF)变化而来。前者主要用于 静态周期任务的调度,后者主要用于动态调度,在不同的系统状态下两种算法各有优劣。在商业产品中采用的实际策略常常是各种因素的折中。

3、任务优先级分配

每个任务都有其优先级。任务越重要,赋予的优先级应越高。应用程序执行过程中诸任务优先级不变,则称之为静态优先级。在静态优先级系统中,诸任务以及它们的时间约束在程序编译时是已知的。反之,应用程序执行过程中,任务的优先级是可变的,则称之为动态优先级。

4、时间的可确定性

强实时操作系统的函数调用与服务的执行时间应具有可确定性。系统服务的执行时间不依赖于应用程序任务的多少。系统完成某个确定任务的时间是可预测的。

四、实时操作系统中遇到的问题

1、优先级反转

这是实时系统中出现得最多的问题。优先级反转是指一个任务等待比它优先级低的任务释放资源而被阻塞,如果这时有中等优先级的就绪任务,阻塞会进一步恶化。它严重影响了实时任务的完成。

2、任务执行时间的抖动

各种实时内核都有将任务延时若干个时钟节拍的功能。优先级的不同、延时请求发生的时间、发出延时请求的任务自身的运行延迟,都会造成被延时任务执行时间不同程度的提前或滞后,称之为任务执行时间的抖动。

3、任务划分

程序在CPU 中是以任务的方式在运行,所以我们要将系统的处理框图转化为多任务流程图,对处理进行任务划分。任务划分存在这样一对矛盾:如果任务太多,必然增加系统任 务切换的开销;如果任务太少,系统的并行度就降低了,实时性就比较差。

五、实时操作系统改善措施

跟据上述讨论的实时操作系统中遇到的问题我们提出相应的改善措施,如下所示:

1、对于优先级反转的改善措施

为防止发生优先级反转,一些商业内核(如VxWorks)使用了优先级继承技术,当优先级反转发生时,优先级较低的任务被暂时地提高它的优先级,使得该任务能尽快执行,释放出优先级较高的任务所需要的资源。但它也不能完全避免优先级反转,只能称其减轻了优先级反转的程度,减轻了优先级反转对实时任务完成的影响。

优先权极限是另一种解决方案,系统把每一个临界资源与1个极限优先权相联系,这个极限优先权等于系统此时最高优先权加1。当这个任务退出临界区后,系统立即把它的优先权恢复正常,从而保证系统不会出现优先权反转的情况。采用这种方案的另一个有利之处,是仅仅通过改变某个临界资源的优先级就可以使多个任务共享这个临界资源。

2、对于任务时间抖动的改善措施 可能的解决方案有:

a.增加微处理器的时钟频和时钟节拍的频率; b.重新安排任务的优先级; c.避免使用浮点运算等。

强实时系统中,我们必须综合考虑,充分利用各种手段,尽量减少任务执行时间的抖动。

3、对于任务划分的改善措施

在任务划分时要遵循H.Gomma 原则: a. I/O原则:不同的外设执行不同任务;

b. 优先级原则:不同优先级处理不同的任务; c. 大量运算:归为一个任务; d. 功能耦合:归为一个任务; e. 偶然耦合:归为一个任务;

f. 频率组合:对于周期时间,不同任务处理不同的频率。

如果我们在具体分析一个系统的时候发生原则冲突的话,则要为每一个原则针对具体的系统设定“权重”,必要的时候可以通过计算“权重”来最终确定如何去划分任务。

《计算机实时操作系统的改善措施.docx》
将本文的Word文档下载,方便收藏和打印
推荐度:
计算机实时操作系统的改善措施
点击下载文档
相关专题 计算机专业优化措施 实时 操作系统 措施 计算机专业优化措施 实时 操作系统 措施
[其他范文]相关推荐
    [其他范文]热门文章
      下载全文