【梳理】简明操作系统原理 附录2 实时操作系统(内附文档高清截图)

参考教材:
Operating Systems: Three Easy Pieces
Remzi H. Arpaci-Dusseau and Andrea C. Arpaci-Dusseau
在线阅读:
http://pages.cs.wisc.edu/~remzi/OSTEP/
University of Wisconsin Madison 教授 Remzi Arpaci-Dusseau 认为课本应该是免费的。
————————————————————————————————————————
这是专业必修课《操作系统原理》的复习指引。
在本文的最后附有复习指导的高清截图。需要掌握的概念在文档截图中以蓝色标识,并用可读性更好的字体显示 Linux 命令和代码。代码部分语法高亮。
操作系统原理不是语言课,本复习指导对用到的编程语言的语法的讲解也不会很细致。如果不知道代码中的一些关键字或函数的具体用法,你应该自行查找相关资料。

2、实时操作系统(RTOS)

1、所谓“实时”,是表示“及时”;“实时计算”是这样一类计算:系统的正确性,不仅由计算的逻辑结果来确定,而且还取决于产生结果的时间。实时操作系统与一般的操作系统相比,最大的特色就是“实时性”:如果有一个任务需要执行,实时操作系统会马上(或在较短时间内)执行该任务,不允许有较长的延时。这种特性保证了各个任务的及时执行。
实时操作系统与一般的操作系统有着不同的调度算法。普通的操作系统的调度器对于线程优先级等方面的处理更加灵活;而实时操作系统追求最小的中断延时和线程切换延时。

2、随着计算机应用的普及,实时系统的类型也相应增多,下面列出当前常见的几种:
(1)工业(武器)控制系统。当计算机被用于生产过程的控制,形成以计算机为中心的控制系统时,该系统应能实时采集现场数据并及时处理,进而能自动控制相应的执行机构,使之按预定的步骤正确运行,确保质量和产量。类似地,也可将计算机用于对武器的控制,如火炮的自动控制系统、飞机的自动驾驶系统,以及导弹的制导系统等。
(2)信息查询系统。该系统接收从远程终端上发来的服务请求,根据请求对信息进行检索和处理,并及时对用户做出正确回答。实时信息处理系统有飞机或火车的订票系统等。
(3)多媒体系统。随着计算机硬件和软件的快速发展,己可将文本、图像、音频和视频等信息集成在一个文件中,形成一个多媒体文件。蓝光光盘(Blu-ray Disc)播放器所播放的数字电影中就包含了音频、视频、字幕、菜单等信息。为了保证良好的视听感受,用于播放音视频的多媒体系统等,也必须是实时信息处理系统。
(4)嵌入式系统。随着集成电路的发展,己制作出可嵌入到各种仪器和设备中的芯片,用于控制或对其中的信息做出处理,这样就构成了所谓的智能仪器和设备。此时还需要配置嵌入式OS,它同样需要具有实时控制或处理的功能。

3、设计实时操作系统的首要目标不是高的吞吐量,而是保证任务在特定时间内必须完成,因此衡量一个实时操作系统坚固性的重要指标,是系统从接收一个任务,到完成该任务所需的时间,其时间的变化称为抖动。可以依抖动将实时操作系统分为两种:硬实时操作系统,以及软实时操作系统,硬实时操作系统比软实时操作系统抖动更少:
硬实时操作系统必须使任务在确定的时间内完成;软实时操作系统能让绝大多数任务在确定时间内完成。

4、实时任务的类型:
(1)周期性实时任务和非周期性实时任务。
周期性实时任务:外部设备周期性发出信号给计算机,要求按指定周期循环执行,以实现周期性地控制某设备等目的。
非周期性实时任务并无明显的周期性,但都必须联系着一个截止时间(Deadline),或称为最后期限。它又可分为:
①开始截止时间,指某任务在某时间以前必须开始执行。
②完成截止时间,指某任务在某时间以前必须完成。
(2)硬实时任务和软实时任务。
对于硬实时任务(Hard Real-time Task,HRT),系统必须精确地满足任务对截止时间的要求,否则可能出现难以预测的后果。用于工业和武器控制的实时系统,通常所执行的是硬实时任务。
软实时任务(Soft Real-time Task,SRT)也联系着一个截止时间,但并不严格。若偶尔错过了任务的截止时间,对系统产生的影响也不会太大。诸如用于信息查询系统和多媒体系统中的实时系统,通常是软实时任务。

5、实时系统与分时系统特征的比较:
(1)多路性。信息查询系统和分时系统中的多路性都表现为“系统按分时原则为多个终端用户服务”;实时控制系统的多路性则通常是指:系统周期性地对多路现场信息进行采集,以及对多个对象或多个执行机构进行控制。
(2)独立性。信息查询系统中的每个终端用户在与系统交互时,彼此相互独立互不干扰;同样地,在实时控制系统中,对信息的采集和对对象的控制也都是彼此互不干扰的。
(3)及时性。信息查询系统对实时性的要求是依据人所能接受的等待时间确定的,而多媒体系统实时性的要求是,播放出来的音乐和影视能令人满意。实时控制系统对实时性的要求高低,则是以控制对象所要求的截止时间来确定的,通常为秒级到毫秒级,有的系统则要求达到微秒级乃至纳秒级。
(4)交互性。在信息查询系统中,人与系统的交互性仅限于访问系统中某些特定的专用服务程序。它并不像分时系统那样,能向终端用户提供数据处理、资源共享等较为复杂的服务。而多媒体系统的交互性也仅限于用户发送某些特定的命令,如开始、停止、快进等,由系统立即响应。
(5)可靠性。分时系统要求系统可靠,不少实时系统要求系统高度可靠,因为任何差错都可能带来无法预料的灾难性后果。因此,在实时系统中,往往都采取了多级容错措施来保障系统的安全性及数据的安全性。

6、实现正确的实时调度的基本条件:
【1】提供必要的信息
为了实现实时调度,系统应向调度程序提供有关任务的信息。它们可以是:
(1)就绪时间:是指某任务成为就绪状态的起始时间,在周期任务的情况下,它通常是事先预知的一串时间序列。
(2)开始截止时间和完成截止时间:对于典型的实时应用,只须知道开始截止时间,或者完成截止时间。
(3)处理时间:一个任务从开始执行直至完成所需的时间。
(4)资源要求:任务执行时所需的一组资源。
(5)优先级:如果某任务的开始截止时间错过,势必引起重大故障,则应为该任务赋予“绝对”优先级;如果其开始截止时间的错过,对任务的继续运行无重大影响,则可为其赋予“相对”优先级,供调度程序参考。
【2】系统处理能力强
在实时系统中,若CPU的性能不够强,则有可能因为任务太多忙不过,而致使某些实时任务不能得到及时处理,从而导致难以预料的严重后果。
【3】采用抢占式调度机制
在含有HRT的实时系统中,广泛采用抢占机制。这样便可满足HRT对截止时间的要求。但这种调度机制比较复杂。对于一些小的实时系统,如果能预知任务的开始截止时间,则对实时任务的调度可采用非抢占调度机制,以简化调度程序和在任务调度时的系统开销。在设计这种调度机制时,应使所有的实时任务都比较小,并在执行完关键性程序和临界区后,能及时将自己阻塞起来,以便释放CPU,供调度程序去调度那个开始截止时间即将到达的任务。
【4】具有快速切换机制
为保证硬实时任务能及时运行,在系统中还应具有快速切换机制,使之能进行任务的快速切换。该机制应具有如下两方面的能力:
(1)对中断的快速响应能力。对紧迫的外部事件请求中断能及时响应,要求系统具有快速硬件中断机构,还应使禁止中断的时间间隔尽量短,以免耽误时机(其它紧迫任务)。
(2)快速的任务分派能力。为了提高分派程序进行任务切换时的速度,应使系统中的每个运行功能单位适当的小,以减少任务切换的时间开销。

7、最早截止时间优先EDF (Earliest Deadline First) 算法
该算法是根据任务的截止时间确定任务的优先级。任务的截止时间愈早,其优先级愈高,具有最早截止时间的任务排在队列的队首。调度程序在选择任务时,总是选择就绪队列中的第一个任务,为之分配CPU。EDF算法既可用于抢占式调度方式,也可用于非抢占式调度方式。

8、最低松弛度优先LLF (Least Laxity First) 算法
该算法在确定任务的优先级时,根据的是任务的紧急(或松弛)程度。任务紧急程度愈高,赋予该任务的优先级就愈高,以使之优先执行。例如,一个任务在200 ms时必须完成,而它本身所需的运行时间是100 ms,因此调度程序必须在100ms之前调度执行,该任务的紧急程度(松弛程度)为100 ms。又如,另一任务在400ms时必须完成,它本身需要运行
150 ms,则其松弛程度为250ms。在实现该算法时要求系统中有一个按松弛度排序的实时任务就绪队列,松弛度最低(紧急程度最高)的任务排在最前面,调度程序选择队列中的队首任务执行。该算法主要用于可抢占调度方式中。

【梳理】简明操作系统原理 附录2 实时操作系统(内附文档高清截图)_第1张图片【梳理】简明操作系统原理 附录2 实时操作系统(内附文档高清截图)_第2张图片【梳理】简明操作系统原理 附录2 实时操作系统(内附文档高清截图)_第3张图片【梳理】简明操作系统原理 附录2 实时操作系统(内附文档高清截图)_第4张图片【梳理】简明操作系统原理 附录2 实时操作系统(内附文档高清截图)_第5张图片【梳理】简明操作系统原理 附录2 实时操作系统(内附文档高清截图)_第6张图片

你可能感兴趣的:(专业课,#,操作系统原理)