配色: 字号:
草色青青
2013-09-27 | 阅:  转:  |  分享 
  
静态优先级调度算法中,为所有进程都静态地分配一个优先级。静态优先级的分配可以根据应用任务的的属性来进行。例如RM(Rate-Monotoni
c)调度算法是根据任务的执行周期的长短来决定调度优先级,那些具有小的执行周期的任务具有较高的优先级。动态优先级调度算法中,根
据任务的资源需求来动态地分配任务的优先级。在实时调度算法中,EDF算法给就绪队列中的各个任务根据它们的截止期限来分配优先级,具有最
近的截止期限的任务具有最高的优先级。基于比例共享调度算法基于优先级的调度算法提供的是一种硬实时的调度,对于软实时应用,使用比例
共享式的资源调度算法(SD算法)更为适合。比例共享调度算法指基于CPU使用比例的共享式的调度算法,它按照一定的权重对一组需要调度的
任务进行调度,使它们的执行时间与它们的权重完全成正比。但是它没有优先级的概念,当系统处于过载状态时,所有的任务的执行都会按比例地变
慢,这将影响实时进程。实现比例共享调度的算法有两种:可以调节各个就绪进程出现在调度队列队首的频率,并调度队首的进程执行。或者逐
次调度就绪队列中的各个进程投入运行,但根据分配的权重调节分配个每个进程的运行时间片。基于时间的进程调度算法对于具有稳定、已知输
入的简单系统,如很小的嵌入式系统、自控系统、传感器等应用系统,可以使用时间驱动(Time-driven:TD)的调度算法,它能够为
数据处理提供很好的预测性。实际上属于静态调度方法,在系统的设计阶段,在明确系统中所有的处理情况下,对于各个任务的开始、切换、以及结
束时间等都事先做出明确的安排和设计。11.2.4时限和恢复管理许多具有强实时性的多媒体应用,要求在规定时间内完成其处理,同时
,所处理的数据也往往是“短暂”的,即有一定的有效时间,过时则有新的数据产生。实时事务中有多种定时限制,其中最典型的是事务截止期。
很多连续媒体应用程序具有内在的“软”时限。例如,在视频会议系统中,即使大多数视频图像都没能够按时处理完毕,也不影响会议继续的进行。
然而,错过时限的提示信号对应用来说是相当重要的信息。基于这些信息,应用可以要求改变服务质量QoS的级别。由于实时事务难以接受时
间的延迟及其不确定性,因而多媒体操作系统的内存缓冲区的管理就显得更为重要。如何及时分配所需缓冲区、如何让高优先级事务抢占缓冲区成为
主要目标。各种因素都可能导致QoS的下降,当程序由于过载、硬件或软件错误而错过时限时,用户程序应能够决定相应的应付措施,也就是实
时恢复机制。但是数据的可恢复性也并非一致的,有的事务可以在一定的时限内要求重发,而有的事务则可能要用“补偿”、“替代”事务。为了保
证实时限制的满足,恢复也不一定是一致和绝对正确的。同时,恢复过程也将影响处于活跃状态的事务,使有的事务超过截止期,这对硬实时事务
是不能接受的。因此,必须开发新的恢复技术与机制,应考虑到时间与资源两者的可用性,以确定最佳恢复时机与策略,而不致于影响事务实时性的
满足。然而在多道程序设计环境中,必须把调整优先权等事物外的操作作为一个原子级操作,这样可保证恢复任务不能被抢占。10.2.
5QoS管理随着数字视频、音频等连续媒体的网络应用,对实时服务质量QoS支持的要求也不断提高。在不同的应用中,用户对QoS的
要求也不完全相同。多媒体网络操作系统必须具有增强的管理功能,使得能够支持更为灵活、更为动态的QoS选择,从而使用户可以对传送连接进
行适当的剪裁以满足自己的特定需要。在建立端到端的连接时,用户应能量化和表达对有关QoS参数的希望值、可接受值和不可接受值。通信双
方必须就这些参数进行协商,以保证这些QoS参数值在连接持续期内得到满足。通信过程中,即使违背了事先协商的QoS值时,操作系统应能提
供一定的指示信息。对连续媒体应用的QoS管理可以分成两种控制模式:静态的和动态的。静态控制模式是指通信前,由用户指定一个QoS
的级,并在整个连接生存期间都维护这个指定的级。而动态控制模式则允许用户在整个连接生存期间调整初始的QoS值。而修改QoS级的依据有
2种,可以根据系统可用资源进行调整,或者根据任务的需要来调整。11.3支持连续媒体应用的有关策略目前,对连续媒体的支持还缺乏
一个全面的规划的软件标准和操作系统所支持的公共功能。如果要开发一个适合于多媒体处理的操作系统,它应该对连续媒体应用的支持可以分为三
个方面:对资源管理的支持、对程序设计的支持和对文件系统的支持。11.3.1支持连续媒体的资源管理为了支持连续媒体,应该采取新
的资源管理模式来提供必须的系统资源,以满足一定的应用请求级,从而避免出现那些不可预见的延迟和抖动。基于QoS的资源控制在连续媒
体中,可以参数形式描述其时间特性和空间特性。虽然QoS参数大多数依赖于应用的,但应用系统一般都能提供多种可选的QoS级,让用户选择
适合于自己的资源环境下工作的QoS级,而操作系统必须能基于QoS级对资源进行管理。无论用户的请求是静态的还是动态的,系统都必须对用
户所请求的级作出反映,当系统资源能够满足用户申请的QoS级时,系统才会接受用户的请求并提供所需的系统资源。当资源不足时,系统将通过
会话过程和用户进行协商,降低QoS的级,以减少对资源的需求。存储器管理存储器管理要为任务进程分配存储器资源。对于连续媒体数据而
言,通常都具有数据交换量大和严格的定时需求。传统的虚拟内存采用请求页式调度,在虚存和主存之间进行换页交换可能要花费许多的时间,缺页
还将延长这段交换时间,从而可能影响实时进程。如果不采用虚拟内存,可以在进程执行期间将连续媒体数据锁在存储器中,但是可能影响资源利
用率。另一种基于QoS的方法中,可以利用连续媒体数据的周期性及时预调数据。其他比较重要的实用实现技术包括散布缓冲区法或传递指针
法,它们都有效地提高空间使用效率。散布缓冲区法,就可以将进程地址空间装入可能不连续的存储器区域。指针传递法就是通过引用传递对象,而
不拷贝或移动对象本身。实时I/O管理实时I/O子系统的主要功能是在主存储器和外部设备之间传送多媒体数据,它的中心任务就是设备
管理、中断延时与实时传输。设备管理为所有硬件构件的控制与管理提供统一界面,通过将物理设备映射成抽象的设备驱动器。多媒体应用中,
特别是实时连续媒体帧的输入和输出,必定需要大量的I/O操作,由此频繁地中断内核,从而降低系统吞吐率并影响QoS。而保证单流的连
续性和多相关流之间的同步的关键所在就是I/O的实时功能。要提高I/O的实时功能,可以通过改变内核结构以使之具有抢占性、内核中增加安
全抢占点集合、或将当前内核转换成可在微内核上运行用户程序。如今,网络带宽超过已经超过了1Gbps,而使I/O总线成为了制约系统
总体性能的瓶颈。由此可能导致总线的争用,因此解决I/O总线已成为急待解决的中心问题。11.3.2连续媒体的程序支持实时线程
RealtimeThread在通用的非实时系统中,线程不具备的实时特性,它们只能处于初始态、就绪态、非就绪态、或退出态之一。实时
线程具有普通线程所有的特性和功能,但增加了更多的细致的控制能力,最重要的就是资源的抢占和优先级的关系。实时线程可以设定优先级,高优
先级的线程可以安排在低优先级线程之前完成。一个应用程序可以通过使用线程中的方法setPriority(int),来设置线程的优先级
大小。时限管理实时任务不仅要求完成每一项工作,并且要按照给定的时限去完成。在时限管理中,能满足时限要求的有效策略就是可抢占性管
理。所谓可抢占性管理,是指调度进程是建立在进程的优先级别上的。在调度优先级中,正确计时是相当重要的。但是在绝大多数调度策略中,运行
时间是一个很难获得的值,如果调度进程已经获得了事务处理时间的相关信息,而这些信息又可以用来检测出哪些是最接近时限的事务,那么就可以
赋予这些事务更高的优先权,或者将那些不会超时的事务挂起。但是,如果发生计时错误,事实上将改变线程的优先级,从而导致不可预测的后果
,尤其对实时程序来说就是一种灾难性的故障。这就需要时限调度来保证系统的实时性。当线程产生内存错误或浮点运算错误时,操作系统会将
它视为一个异常来进行标识和处理。为了应对这种错误,系统必须提供捕捉计时错误的接口,使得用户能够以应用指定的方式进行处理,这就是实时
程序的时限处理。分布式状况下,因为通信的开销导致远程服务器的响应处理时间变得更加不可预测,因此将使实时控制变得更复杂。时限调度策
略。既要针对满足时限的,又要针对不能满足时限的。而赋予计时错误处理程序的任务,是要解决线程的后续执行方式。例如,一个周期性的线程错
过了时限时,时限处理程序就必须决定是继续运行还是停止。通常,计时错误处理程序将会把错误线程挂起,并向用户指定的端口发送一个消息
。而另一个线程,将在该端口处获取出错的消息并作出有关反映。实时同步实时同步是连续媒体关键的特征,实时线程的排队是建立在优先权基
础上的,基于FIFO的次序排列,常常会导致优先权倒置。为了支持实时同步,系统应该能提供快速时间标识机制和实时互斥机制。互斥是用
来控制多任务对共享数据进行串行访问的同步机制。在多任务应用中,当两个或多个任务同时访问共享数据时,可能会造成数据破坏。互斥使它们串
行地访问数据,从而达到保护数据的目的.解决互斥有以下几种方法:1.关闭中断的方法(intLock):能解决任务和中断ISR之
间产生的互斥,但使用该办法会影响实时系统对外部中断及时响应和处理的能力。2.关闭系统优先级(taskLock):它可使当前任
务的执行只能被中断,而不能被高优先级的任务抢占。但是,这种方法实际上也不适合于实时系统中的。3.信号量(Semaphore)
:信号量是解决互斥和同步协调进程最好的方法。使用创建信号量Semaphore的办法,说明任务的属性。实时系统中的IPC实时系统
主要包括多任务调度(采用优先级抢占方式)、任务间的同步和进程间通信,这种通信方式被称为进程间通信机制(inter-process
communicationIPC)。进程间通信(IPC)是运行在多任务操作系统中或联网计算机上的程序和进程使用的一组技术,IPC
支持进程间有效的通信,LPC能共享内存空间、同步任务并相互发送消息。远程过程调用被称为RPC,它类似于LPC。网络上的客户机/服务
器模式利用了RPC机制,客户在他自己的机器上执行部分任务,但还要依赖服务器提供的后端文件服务。RPC为客户提供通信机制,以使服务请
求发送到后端服务器。解决任务间的同步和进程间协调问题可以采用以下的几种方式:内存共享(SharedMemory):用于简单的
数据共享。信号量(Semaphore):用于基本的互斥和同步。消息队列(Messagequeues)和管道(Pipe):
用于单个CPU中,任务间的信息传递。套结字(Socket)和远程调用(Remoteprocedurecalls):用于网络
任务间的通信。信号(Signals):为那些访问相同资源的进程提供一个同步机制。在一个多任务环境中,应该允许实时应用程序以一
套独立任务的方式构筑,每个任务拥有独立的执行线程和它自己的一套系统资源。所以程序设计的接口可以包含实时系统通信所需的属性。实时系统
的通信需要提供基于优先权的排队、优先权的交出、优先权的继承以及消息的分发等属性。1、消息排队:消息排队机制监督在不同的应用程序之
间传送消息,给属性指明了消息排队的次序。排序策略可以有多种,如FIFO、基于优先权等方式。应用程序可以使用消息排队来改善可靠性,但
要以响应时间为代价。2、优先权的交出:当设置了该属性,发送者将传递接收者的优先权,或根据所选定的策略给定优先权。3、优先权的
继承:它将执行优先级继承协议。优先级继承可用来解决优先级反转问题。当优先级反转发生时,优先级较低的任务被暂时地提高它的优先级,使得
该任务能尽快执行,释放出优先级较高的任务所需要的资源。4、消息分发:当多个接收者在运行时,消息分发属性将按照任意选择策略或基于
优先权的策略选择合适的接收者线程。当指定为任意选择策略时,将从FIFO队列中按次序选择接收线程。11.3.3支持连续媒体的文
件系统文件管理器必须具备高效读写连续媒体流的功能。连续媒体如果不能被及时地缓冲,就会导致使用数据的缺乏,从而导致暂停、断续等现象
。如何是文件系统满足连续媒体的应用,不仅需要更合适的存储布局,同时需要更好的介质调度方法,以解决连续媒体的吞吐率需求和多流同步。
在单流情况下,需要维持最早的起始时间,这样可以既不错过时限,又能使缓冲区最小。在多流情况下,既要对每一个独立处理,又要考虑到其它
的流,这就需要更好的算法和技术。对介质的调度最关键的就是如何处理好实时性引起的时限要求和缓冲要求。文件存储策略有关连续媒体存
储布局,众多的策略大体上可以分成以下三类:连续媒体单独存储、混合存储和分布式存储。第11章多媒体操作系统多
媒体的应用需求逐渐从单机延伸到互联网,从非实时方式发展到实时方式,因而操作系统也逐渐沿着适合这种应用的方向发展。在不同的应用环境、
应用方式下需要有相应的多媒体操作系统的支持,因而多媒体操作系统是多媒体技术中的中流砥柱。在多媒体应用迅速火热的局面下,无论是桌面式
、嵌入式、还是分布式的多媒体应用中,多媒体操作系统技术面临的新的核心问题是围绕着多流、同步、时限、以及基于QoS的管理,要研究如何
采用适当的策略和算法去调度、去满足多媒体应用任务。本章将针对这些概念介绍多媒体应用对操作系统的要求、多媒体操作系统应具备的
核心功能、和支持连续媒体应用的有关策略。11.1操作系统概述操作系统是计算机软硬件资源的控制管理中心,它主要任务是合理组织和
调用软硬件资源,以完成用户提交的作业。随着市场需求的不断提高以及计算机、网络、多媒体、通讯技术的不断发展,操作系统经历了一系列开发
和变革。11.1.1操作系统的分类操作系统有很多种类,并具有不同的特征。从不同的角度可以将操作系统分成不同的类型。根据计算机
体系结构可分为单机、多机、网络和分布式操作系统。根据操作系统工作的角度可分为单用户、批处理、分时和实时系统。由于多媒体的引入,因而
产生了多媒体操作系统和多媒体网络操作系统。从操作系统工作的角度来看,单用户、批处理、分时操作系统的工作重点都是围绕着系统资源的利
用率而展开的。在单用户操作系统下,用户必须初始化所有硬件设备,并将操作系统的核心部分常驻留在系统的主存储器中,为运行应用程序提供
装入、解释和控制。为了减少用户作业建立和打断的时间,于是提出批处理系统的概念,由计算机按顺序自动批处理指令。批处理系统虽然提高了
资源的利用率,但作业处理的平均周转时间较长,且用户交互能力较弱等。分时系统具有较好的交互式功能,同时可为多用户和多任务提供服务,
它将CPU的运行时间分割成微小时间片,依次轮流为各个程序提供服务,并能及时响应用户的输入请求。但是分时时间片的长短以及主机系统的配
置将系统的性能有较大的影响,对时间响应上有特殊要求的应用是难以满足的。实时系统是因为多媒体应用在时间的特殊要求而形成的。由于在
多媒体系统中大量地使用了基于时间的连续性媒体,而连续性媒体数据的组织和表现严格地受限于所规定的时间,这就需要有能够提供及时服务的实
时系统。所以,实时系统首先要满足时间的响应,然后再考虑支持多个用户和多个任务。目前,实时系统显得相当重要,下面我们将对进一步了解实
时系统的系统特征。11.1.2实时系统的特征实时系统是指系统能及时响应输入,并能按需提供无延迟的输出处理。实时系统可以分为
实时控制系统和实时信息系统。实时控制系统可用于生产过程中的自动控制,也可以用于监测制导性控制。实时信息系统通常指实时信息处理系统。
实时系统继承了分时系统的交互性和多用户功能,并在满足任务时限的基础完成任务,它主要包括如下特征:1.及时与时限性。主要反
映在对用户的响应时间要求上,以满足控制对象所能接受的时间延迟,它可以是秒级、毫秒或微秒级。2.交互性。根据不同的应用对象和应
用要求,实时系统能提供便捷的交互方式。3.安全可靠性。实时控制系统必须考虑系统的容错机制,避免导致灾难性后果。实时信息系统,应
向用户提供及时、有效、完整和可用的信息。4.多路性。实时控制系统应能提供多用户的服务。并具有现场多路采集、处理和控制执行机构的
功能。实时系统的调度包括CPU、资源、输入和输出、通信和任务各个方面,正确把握基于时间上的调度问题就是实时系统所要解决的关键问
题。由于实时任务具有时限性、抢占性、周期性、优先性、重要性、组合性等多种特征,因而在创建任务调度的算法时必须考虑这些因素。在任
务与时限的关系中,涉及的概念包括:任务时限、任务执行时间、任务时限余量(任务执行时间与任务时限之差)、紧任务时限、松任务时限、强实
时(超时将无可用性)、弱实时(超时将影响可用性)、关键任务时限(超时将引起严重后果)等。其中任务时限是指执行某任务时的可用时间,
也称为时限粒度。任务时限和任务时限余量之间存在着一定的关系,较小的任务时限必定导致较小的时限余量。但较大的任务时限也可能导致较小的
时限余量,因为任务的执行时间取决于具体算法的复杂程度。也就是说,不同复杂的算法决定了任务的时限余量。根据以上这些特性,实时调度中
广泛采用了基于优先级的抢占调度算法。该算法可以使正在执行的任务出让资源,去满足一个高优先级的任务的执行。同时对具有动态优先级的任务
,可以根据任务的某些因素在运行时调整进程的优先权。常用的算法还有截止期最早最优先(EarliestDeadlineFirst
,EDF),最关键任务优先算法(MostCriticalFirst,MCF)、关键性和时限优先算法(Criticalness
andDeadlineFirst,CDF)、最小余量优先算法(MostLaxityFirst,MLF)、最低松弛度优先(L
LF)算法等。当任务的某些特征模糊不确定或不可预测时,一些常用的调度算法不再适用。可以使用不精确调度算法(Imprecise
Computing,IC)或模糊反馈控制实时调度算法。实时系统的性能好坏主要从以下几个方面衡量:(1)响应时间主要包括中断响
应时间、关联转换时间和任务等待时间中断响应时间包括中断延迟时间,其大小取决于总线速度、中断屏蔽的时间长短、中断负载的大小、中断优
先级等多种因素。任务等待时间是指从发送消息的时刻到任务收到消息变为准备并投入运行之间的时间,包括消息处理时间、核心不可抢占延迟、调
度时间和关联转换时间,反映了系统的开销情况。关联转换时间即上下文切换时间,它取决与任务关联的数目、任务调度算法、任务现场信息量的大
小、CPU速度等诸多因素。(2)吞吐率实时系统的吞吐率取决于系统的各个部位,不同的部位具有不同的吞吐率概念,如CPU、系统总线
、外围设备等。提高吞吐率的目的是减少任务执行时间,增加任务余量。这样留给系统更多的时间,实现松时间约束,对相同的工作可以更好的完成
;或在相同的时间内完成更多的任务。(3)可靠性因为在一些重要的实时任务中,任何不可靠因素和故障都会引起难以预测的灾难性后果。
11.1.3多媒体操作系统的类型多媒体操作系统支持多媒体的实时应用,其首要任务是调度一切可利用的资源完成实时控制任务,其次要提
高计算机系统的使用效率。多媒体实时任务主要包括:任务管理、任务间同步和通信、存储器优化管理、实时时钟服务、中断管理服务。实时操作系
统具有规模小,中断被屏蔽的时间很短,中断处理时间短,任务切换很快等特点。根据不同的使用规模,多媒体操作系统可分为单机、互联式和分
布式单机多媒体操作系统单机多媒体操作系统是指支持非网络环境中的MPC的操作系统,例如,Windows95以后的操作系统就属
于多媒体操作系统。WindowsXP操作系统更是从系统级上支持多媒体功能,其DVD支持技术、内置的DirectX多媒体驱动、与操
作系统无缝连接的光盘刻录与擦写技术等,给用户提供了更加丰富多彩的交互式多媒体环境。互联式多媒体操作系统与单机操作系统不同的是
,互联式多媒体操作系统面对的是多台计算机或多个局域网系统,它要支持多机之间的资源共享、用户操作协调和与多机操作的交互。网络操作
系统可以构架于不同的操作系统之上,也就是说它网络中所连接的计算机可以被装有不同的操作系统,通过网络协议实现网络资源的统一配置,在较
大的范围内构成互联式网络操作系统。在互联式网络操作系统中,对网络资源的访问需要指明资源位置与资源类型。对于有实时要求的的任务,多
媒体操作系统不仅要根据用户的请求准确地完成信息的发送、传递和接收的全过程,而且要保证实时性多媒体信息处理的各种要求。分布式多媒体
操作系统分布式操作系统是指有大量的计算机通过网络被连接在一起,可以获得极高的运算能力及广泛的数据共享。分布式操作系统有如下特征:
1、统一性。它是一个统一的操作系统。2、共享性。分布式系统中所有的资源是可共享的。3、透明性。透明性是指用户并没有感觉到分布
式系统上有多台计算机在运行。4、独立性。处于分布式系统的多个主机在物理上是独立的。5、低成本。分布式系统中的计算机不需要具备特
别高的性能。6、可靠性。由于有多个独立的CPU系统,因此个别CPU的故障高不影响系统性能。与网络操作系统的主要区别是,分布式
操作系统比较强调单一性,使用同一种操作系统,即使用同一种管理与访问方式。11.2多媒体操作系统的核心和重要功能多媒体操作系统
不仅要管理软、硬件资源,还需要满足多媒体数据处理的需要,提供一种高效、实时的运行环境。多媒体处理中要解决的主要问题包括中断等待、实
时调度、时限和恢复管理处理和基于QoS的资源管理。为了解决这些主要的问题,必须开发新的多媒体操作系统的体系结构。11.2.1操
作系统的体系结构传统的操作系统的工作是基于多个进程下的资源管理、设备控制等。这些系统并不具有对时间的复杂控制和维护特定的机制,也
没有提供系统短暂过载时进行保护和管理的模式。系统常常无法应对一些不可预见的延迟和抖动,也不能保证对时间有严格要求的多媒体信息的同步
,所以并不适合于连续媒体应用的实时服务。传统的操作系统主要在以下几个方面有所欠缺:(1)缺乏操作系统的实时支持这种实时支持应
能够提供较好的时间驱动计算、最佳的时间调度策略、而不仅仅只具有时间分配的能力。(2)为了适合于实时多媒体的应用,有必要开发设计
新的多媒体操作系统。目前,多媒体操作系统有两种开发模式,即扩充传统操作系统和重新设计的微内核体系结构。无论采用哪种方式,多媒体操作
系统都必须至少提供满足多媒体信息处理要求的CPU管理、存储器管理、I/O管理和文件系统管理功能。分层式操作系统传统的操作系统是
分层式的,如图11-1(左)所示,它的内核由若干层组成,内核集中提供各种功能,整个内核显得非常庞大。多媒体的应用需要系统支持请求、
预定资源和同步处理,也就是要对内核进行适当的修改使得能提供可预测的性能。例如,SUN公司为了提供适当的多媒体资源管理,开发了一种
时间驱动资源管理TDRM(TimeDrivenResourceManagement)机制,就是允许一个应用向系统提出资源请求
的机制。应用的资源请求可包括应用所需的资源、质量、最后期限、优先级等参数,而系统只是按照申请尽可能地分配可用资源,并可告知必要的信
息。图11-1分层内核(左)和微内核(右)微内核(micro-kernel)操作系统是新结构下的操作系统,它保留传统操作系
统界面,采用微内核为核心,为模块化扩展提供基础。微内核的基本原理是,只有最基本的操作系统功能才能放在内核中。不是最基本的服务和应用
程序在微内核之上构造,并在用户模式下执行。微内核中只包含线程和任务管理、IPC管理、存储对象管理、虚拟内存服务、I/O管理和中断处
理等内容。而在微内核外去完成文件管理、进程管理、设备驱动程序、虚存管理程序、窗口系统和安全服务。用户可以通过微内核接口函数提出
服务申请,微内核的服务器便可向用户提供内核的功能服务。内核体系结构如图11-1(右)所示,微内核结构用一个水平分层的结构代替了
传统的纵向分层的结构。在微内核外部的操作系统部件被当作服务器进程实现。微内核体系结构的优点一致接口:微内核设计为进程请求提供一
致接口。可扩展性:允许增加新的服务以及在同一个功能区域中提供多个服务。灵活性:与可扩展性相关,不仅可以在操作系统中增加新功
能,还可以删除现有的功能。可移植性:所有或大部分处理器专用代码都在微内核中,移植时只需很少的变化。可靠性:少量的应用程序编程
接口,为内核外部的操作系统服务产生高质量的代码。分布系统支持:微内核有助于分布式系统支持,包括分布式操作系统控制的集群。对
面向对象操作系统的支持:微内核结构也适用面向对象操作系统环境。微内核上的操作系统的服务模式在微内核体系结构下,可以根据连续媒
体的特殊需要安排上层操作系统,服务模式的实现有以下几种方法:库例程服务模式:上层操作系统作为实用库例程,当用户程序调用库例程时,
由库例程去调用微内核功能。实用库可以提供包括中断处理、计时器、消息登录、内存分配、线缓冲等例程。服务器服务模式:上层操作系
统作为服务器,用户程序直接向服务器提出申请。微内核的功能模式:上层操作系统作为微内核的一个功能,一般就是微内核的接口函数。1
1.2.2中断等待在连续媒体应用中,常常由于多任务的同时执行而引起中断等待。中断等待时间越短,系统的性能就越好。大量的中断
等待将不能很好地支持实时活动。例如,处理一个连续的MIDI音乐媒体流,会产生十分频繁的中断请求发向操作系统内核,这时将产生大量的上
下文切换时间。如果操作系统内核难以应付这么高事件流的需求,将会产生许多中断延时,从而影响QoS。实时操作系统分为可抢占性和不可抢
占性。不可抢占型实时操作系统中,其实时性取决于最长任务的执行时间。当前运行的任务拥有CPU的控制权,实时任务的到来必须通过某种算法
并等待当前任务交出CPU的控制权,然后直到它主动归还CPU控制权。中断由中断服务程序来处理,当激活一个休眠状态任务并使之绪态时,该
任务也必须等到当前运行的任务主动交出CPU的控制权后才能运行。可抢占型实时操作系统是基于任务优先级的,内核可以抢占正在运行任务的CPU使用权,并将使用权交给进入就绪态的优先级更高的任务,也就是说,由于较高优先级任务的到来,正在运行中的其他任务都可被中断。可抢占型实时操作系统的实时性好,但是,必须合理处理好抢占方式,否则也会导致系统崩溃。降低操作系统中断等待的关键策略是可抢占性处理。对于目前现存的内核,可行的修改方案是增加一个安全抢占点的集合,也可以将现存的内核转化为运行微内核上的一个用户程序。但最好的办法是重新设计内核的内部结构,使允许按任务的优先级抢占执行任务。11.2.3实时调度当多个实时的或非实时程序共享同一个资源时,一般多线程操作系统使用同步目标来作为强迫线程同步的多线程核心。但是可能会引起不可控制的优先权倒置。这种优先权倒置现象是由服务器的非抢占特性引起的,由此常导致不可预见的延迟和抖动问题的发生。CPU的实时处理多媒体调度同时要面向非实时处理和实时处理两个方面,当有实时进程出现时,不能影响正在处理之中的非实时处理,同时又要允许实时进程剥夺非实时进程等低优先级实时进程。CPU可以通过高效实时调度进行实时处理,实时调度器以满足任务的最后期限来进行调度。对于连续媒体环境下的最后期限可以是可接受的每帧回放时间。各种实时操作系统的实时调度算法可以分为三种类别:基于优先级的调度算法(Priority-drivenscheduling-PD)、基于CPU使用比例的共享式的调度算法(Share-drivenscheduling-SD)、以及基于时间的进程调度算法(Time-drivenscheduling-TD)。基于优先级的调度算法基于优先级的调度算法给每个进程分配一个优先级,在每次进程调度时,调度器总是调度那个具有最高优先级的任务来执行。根据不同的优先级分配方法,基于优先级的调度算法可以分为类型静态或动态两种:
献花(0)
+1
(本文系文理绿纱首藏)