多媒体操作系统

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

多媒体操作系统国林概述概述连续媒体应用:在许多应用中的全动态数字视频和音频。多媒体邮件超媒体会议系统远程处理VR…概述问题:用户从网上阅读视频邮件时,同时打开另一个文本文件可能会导致视频扭曲、抖动。用户听音乐时,由于另一个程序结束,使音乐突然加速。原因:现有操作系统不提供对过载的控制和管理。z缺乏操作系统的实时支持z缺乏基于QOS的资源管理z对系统的输入输出缺乏有效的管理和控制z缺乏适合连续媒体的文件系统计算机操作系统的问题操作系统的基本概念1.操作系统的分类操作系统:z单用户系统z分时系统z实时系统多媒体系统中大量使用基于时间的连续性媒体,对时间的要求非常严格。单用户和分时系统难以满足多媒体操作系统对时间的要求,而实时系统却可以为多媒体操作系统提供一个基于时间管理途径。操作系统的基本概念2.实时系统的有关概念实时操作系统对实时应用提供及时的响应,把在一定的时间范围内对事件的响应放在第一位。可以为多媒体操作系统提供一个基于时间管理途径。实时系统的一个重要特点是任务具有时间约束。操作系统的基本概念周期性:任务必须在每个周期内完成一次。非周期性:必须有一个启动时间或结束时间,或二者兼有。时限(deadline):任务必须完成的最后期限。任务执行时间:从启动到完成所花费的时间。任务余量:完成任务后离时限的时间余量。紧时间约束:任务余量少。松时间约束:任务余量大。操作系统的基本概念时限粒度:任务从启动到时限之间的时间。强时性:时限前必须完成,否则结果无用。弱实时或软实时:超过时限结果的可用性下降。关健任务:完不成会引起灾难性后果的任务。操作系统的基本概念实时系统必须满足逻辑正确性和时间约束两个条件。任务调度中应处理的一些情况:可抢占及非抢占任务周期性和非周期性任务具有多级重要性的任务具有单个时限的任务组有优先权限制的任务……操作系统的基本概念„调度的内容:CPU调度资源分配I/O调度实时通信调度分布式调度关键任务调度操作系统的基本概念„调度算法:z早期用表驱动循环调度算法z近来用基于优先级的抢占调度算法有静态的或动态的优先级一个低优先级的任务正在运行时,若高优先级任务到来,系统抢占原有任务的资源。操作系统的基本概念z不精确调度算法将一个任务分成二个部分:关键部分:必须完成。可选部分:尽可能完成。保证关键部分满足时限,在允许的情况下尽可能运行可选部分。z最早时限优先算法动态优先级调度算法。时限最早的任务优先级最高,系统要经常计算每个任务的优先级。操作系统的基本概念z最关键任务优先算法按任务的重要性分配优先级。z关键性和时限优先算法同时考虑任务的重要性和时限。z最小余量优先按任务的余量分配优先级,余量越小优先级越高。操作系统的基本概念实时系统好坏的衡量:„响应时间。包括中断响应时间、任务等待时间、关联转换时间„吞吐率„可靠性多媒体的引入与操作系统的限制1、实时服务与时间要求传统的操作系统考虑多个进程下的资源管理、设备控制等工作,用于多媒体基于时间的连续媒体应用不适合,因这些系统不具有对时间的复杂控制和维护特定QOS的机制,没有提供在系统短暂过载时进行保护和管理的模式,缺乏实时服务。它给应用分配用户级的线程,应用无法抢占和控制,调度时没有相应的优先方法。多媒体的引入与操作系统的限制2、中断等待中断等待是传统操作系统不能很好地支持实时活动的一个原因。如处理一个连续MIDI音乐媒体流,会产生十分频繁的中断请求,产生许多中断延时(具有不可抢占特性)改善内核中断延迟的方法:z将内核的内部结构进行改变,可允许较高级的抢占z给现存的内核增加一个安全抢占点的集合将现在的内核转化成为一个用户程序,使之在一个微内核上运行。多媒体的引入与操作系统的限制3、优先权倒置管理当一个实时程序在系统中与一个非实时程序共享同一个资源时,会出现实时程序不得不等待非实时程序运行完成的情况。假设T2占有了同步目标SOT2T1此时若T1用互斥方式访问SO,将被封锁,发生优先权倒置。优先权倒置持续时间有时是固定的,有时又是不定的,它由服务器的非抢占性特性引起,会导致不可预见的延迟和抖动问题的发生。多媒体的引入与操作系统的限制解决办法:引入优先权继承和优先权交出机制。优先权继承:当优先权高的线程被封锁时,把它的优先级传给对它进行封锁而优先权低的线程,等低优先权的线程停止封锁高优先权的线程时,低优先权的线程就恢复到它原先的优先权。多媒体的引入与操作系统的限制4、周期性活动连续媒体为了传输和表现需要周期性的服务活动。最简单的操纵周期性数据流的方法是使用循环结构while(1){get_cm_object(…);draw_cm_object(…);}在多道程序环境下,拖拉速率可能会因系统的负载而改变。系统负载重,拖拉动作可暂停,其它任务终止后,拖拉动作会加速。多媒体的引入与操作系统的限制如果需要更为精细的时间控制,可通过Sleep功能来对拖拉速率调节(Unix系统)start_time=get_current_time();while(1){get_cm_object(…);draw_cm_object(…);start_time=start_time+periodduration=start_time_get_current_time();sleep(duration);}多媒体的引入与操作系统的限制5、时限和恢复管理与传统的实时系统不同,连续媒体应用程序具有内在的“软”时限,错过时限不会引起全局混乱,但应用可要求改变QOS级别。当程序由于过载、硬件或软件错而错过时限时,用户程序应能决定相应的应付措施。多媒体的引入与操作系统的限制如:within(dead_line_duration)do{get_cm-object(…);draw_cm-object(…);}except{recorvery_action;}多媒体的引入与操作系统的限制6、QOS管理和许可控制连续媒体应用的QOS管理可分成两种QOS控制模式:z静态的:会话开始时,由用户指定一个QOS级,整个期间维持。动态的:允许用户或系统在会话存在期间改变QOS初始值。多媒体的引入与操作系统的限制改变QOS方法:z根据系统可用资源变化进行调整z根据任务的需要改变QOS级目前的操作系统还不能很好地支持这两种QOS控制模式。操作系统对连续媒体的支持操作系统对连续媒体的支持目前还缺乏一个能全面支持多媒体的操作系统。新的操作系统对连续媒体应用的支持可分为三个方面:z体系结构的支持z资源管理的支持z程序设计的支持以基于扩展的实时Mach操作系统为例讨论对连续媒体的支持。体系结构的支持操作系统的基本结构一般是内核体系。进程管理、文件系统服务、网络管理、虚拟内存管理、设备管理等服务都在内核中,内核庞大,扩充困难。CMU大学研制的MachO.S采用新的微内核体系。微内核中包括:线程和任务管理、IPC管理、存储对象管理、虚拟内存服务、I/O和中断服务等。文件管理、进程管理、设备驱动等移出内核,作为操作系统服务器在用户空间运行。体系结构的支持有几种在微内核上安排新操作系统功能的方法:z作为库例程服务(SL)z作为一个或多个服务器(SS)z作为微内核的一个功能(SK)SK模式在新系统服务和微内核之间能提供更容易的系统资源共享。SS和SL模式可为微内核提供更好的扩展性。资源管理的支持采取新的资源管理模式来提供必须的系统资源。(处理器周期、内存、网络带宽)1、基于QOS的资源控制根据用户的QOS请求对资源进行管理,但用户所请求的系统资源能够满足用户的QOS时,系统才可接受。该请求资源不足,进行协商,降低QOS的级。在动态控制模式中,通过会话过程用户程序或系统的QOS管理器可以改变初始QOS的级。资源管理的支持2、实时调度实时调度能提供更好的处理器调度支持,应能对连续媒体的最大和最小执行速率实行控制和强制,以便在会话过程中维护所请求的QOS级。¾实时系统——可调度性分析重要;¾基于QOS系统——给定的QOS范围内可播放性分析重要。资源管理的支持3、基于QOS的内存管理传统的实时操作系统,避免虚存管理,因时间化费大,连续媒体对象数据量大,必须使用某种共享内存管理模式。在基于QOS的方法中,系统应能以时间为基础对连续媒体对象进行预调。资源管理的支持4、基于时间的I/O管理多媒体系统,时态的正确性更为重要,必须对多重数据流的同步进行支持。一般给数据流加上时间标志,如RTMach中,音频驱动可接受“在时间t播放音频”请求,这样驱动程序可在时间t之前处理数据。程序设计的支持传统的并发过程抽象方法对连续媒体仍非常有用,但缺乏象适时管理、实时线程、同步、实时IPC等。1、实时线程实时线程具有时间约束。如实时线程f()在生成时带有属性{f,Si,Ti,Di},其中f描述线程的功能,Si,Ti,Di分别描述线程的起始时间、周期和时限。程序设计的支持2、时限管理线程出错时,操作系统将它作为一个异常进行标识和处理。实时线程会产生时态正确性错误,即计时错误。计时错误:一种未能满足用户指定计时约束的故障模式,对实时程序是灾难性的。程序设计的支持要提供一种和其它异常一样的捕捉计时错误的接口,使用户能以应用指定的方式进行处置。如:错过了时限,是继续运行还是停止?延迟了一个周期时间,是跳过去跟上主线程时间还是不理睬。计时错误处理程序的调度优先级是很重要的问题,要根据计时错误的特性改变优先级。程序设计的支持3、实时同步系统应提供快速事件标识机制和实时互斥机制以支持实时同步。非实时同步原语使用基于FIFO的排队方式,但对实时程序来说会引起优先权倒置。采用基于优先权的优先权继承协议避免优先权倒置。程序设计的支持RTMach中实现临界过程的同步策略:z内核监控KM:线程进入了内核监控区,可防止其它任务抢占。临界过程的持续时间必须比任何实时线程的时限要短。z基本策略BP:所有等待线程都以基于线程优先权锁定变量的次序进行排队。z基本优先权继承协议BPI:在锁定冲突时,使执行临界过程的低优先权线程能继承较高优先权线程的优先权。程序设计的支持z优先权限定协议PCP:定义了一种锁的上限优先权,作为可锁定锁变量线程的最高优先权。z可重新启动的临界区协议RCS:临界过程中,具有较高优先权的线程可夭折那些优先权较低的线程,并在恢复这些共享变量状态的时候,把它们放回到等待队列中。恢复动作之后,较高优先权的线程可以不用在队列中等待,就可进入到临界过程。实时IPC(进程间通信)RTMach中,对原始的IPC进行了扩展,提供了基于优先权的排队、优先权交出和优先权继承机制。z消息排队指明消息排队的次序,可用FIFO及基于优先权的排队策略。z优先权交出在消息传递时操纵接收者的优先权。z优先权继承执行优先权继承协议。z消息分发两个或多个接收者运行时,选择合适的接收者线程。支持连续媒体的文件系统支持连续媒体的文件系统传统文件系统无法支持连续媒体,因数据量巨大。主要问题:z连续媒体文件的布局:连续媒体文件数据快如何在磁盘上进行安排。z对缓冲器的要求:每个媒体流必须分配的最小缓冲是多大?z允许准则:当前服务的客户集合中再增加一个客户,何时安全?z服务中客户请求的调度:对给定的一组客户请求,在一轮服务中如何排序,才可满足实时性要求并使缓冲器资源最小。单流情况单个连续媒体流固定回放问题。读取函数、消耗函数、缓冲函数之间的关系如下图。单流情况为了防止回放过程中客户“饥饿”,缓冲函数在读区间必须≥0。读取函数:读(∵压缩率不同,∴斜率不同),回放(循环)读取函数和媒体消耗函数之差即为缓冲函数。希望缓冲器分配最小化。可以证明找到最小的开始时间(t0,图中)可以使缓冲器最小化。t0前回放将使客户饿死,t0后回放将增加缓冲量。单流情况z最早起始时间改变t0使B(t,0)最小且非负,即为最小的开始时间。z最少缓冲器考虑块间延迟dmax,如果回放速度rc小于传输速率rt,还要考虑人为延迟dmin.假设分配的缓冲与记录长度无关,则任何算法使用的块大小都至少是Sb数目的磁道扇区大小。单流情况其中SS为磁道扇区的大小,并至少要分配nb数目的

1 / 55
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功