资源描述
Click to edit Master title style,Click to edit Master text styles,Second level,Third level,Fourth level,Fifth level,*,*,单击此处编辑标题文的格式,单击此处编辑大纲正文的格式,第二个大纲级,第三个大纲级,第四个大纲级,第五个大纲级,第六个大纲级,第七个大纲级,第八个大纲级,第九个大纲级,单击此处编辑标题文的格式,单击此处编辑大纲正文的格式,第二个大纲级,第三个大纲级,第四个大纲级,第五个大纲级,第六个大纲级,第七个大纲级,第八个大纲级,第九个大纲级,2011-11-4,*,2011-11-4,*,2011-11-4,*,单击此处编辑标题文的格式,单击此处编辑大纲正文的格式,第二个大纲级,第三个大纲级,第四个大纲级,第五个大纲级,第六个大纲级,第七个大纲级,第八个大纲级,第九个大纲级,单击此处编辑标题文的格式,单击此处编辑大纲正文的格式,第二个大纲级,第三个大纲级,第四个大纲级,第五个大纲级,第六个大纲级,第七个大纲级,第八个大纲级,第九个大纲级,单击此处编辑标题文的格式,单击此处编辑大纲正文的格式,第二个大纲级,第三个大纲级,第四个大纲级,第五个大纲级,第六个大纲级,第七个大纲级,第八个大纲级,第九个大纲级,单击此处编辑标题文的格式,单击此处编辑大纲正文的格式,第二个大纲级,第三个大纲级,第四个大纲级,第五个大纲级,第六个大纲级,第七个大纲级,第八个大纲级,第九个大纲级,单击此处编辑标题文的格式,单击此处编辑大纲正文的格式,第二个大纲级,第三个大纲级,第四个大纲级,第五个大纲级,第六个大纲级,第七个大纲级,第八个大纲级,第九个大纲级,单击此处编辑标题文的格式,单击此处编辑大纲正文的格式,第二个大纲级,第三个大纲级,第四个大纲级,第五个大纲级,第六个大纲级,第七个大纲级,第八个大纲级,第九个大纲级,单击此处编辑标题文的格式,单击此处编辑大纲正文的格式,第二个大纲级,第三个大纲级,第四个大纲级,第五个大纲级,第六个大纲级,第七个大纲级,第八个大纲级,第九个大纲级,单击此处编辑标题文的格式,单击此处编辑大纲正文的格式,第二个大纲级,第三个大纲级,第四个大纲级,第五个大纲级,第六个大纲级,第七个大纲级,第八个大纲级,第九个大纲级,单击此处编辑标题文的格式,单击此处编辑大纲正文的格式,第二个大纲级,第三个大纲级,第四个大纲级,第五个大纲级,第六个大纲级,第七个大纲级,第八个大纲级,第九个大纲级,单击此处编辑标题文的格式,单击此处编辑大纲正文的格式,第二个大纲级,第三个大纲级,第四个大纲级,第五个大纲级,第六个大纲级,第七个大纲级,第八个大纲级,第九个大纲级,单击此处编辑标题文的格式,单击此处编辑大纲正文的格式,第二个大纲级,第三个大纲级,第四个大纲级,第五个大纲级,第六个大纲级,第七个大纲级,第八个大纲级,第九个大纲级,单击此处编辑标题文的格式,单击此处编辑大纲正文的格式,第二个大纲级,第三个大纲级,第四个大纲级,第五个大纲级,第六个大纲级,第七个大纲级,第八个大纲级,第九个大纲级,2011-11-4,*,单击此处编辑标题文的格式,单击此处编辑大纲正文的格式,第二个大纲级,第三个大纲级,第四个大纲级,第五个大纲级,第六个大纲级,第七个大纲级,第八个大纲级,第九个大纲级,2011-11-4,*,2011-11-4,*,单击此处编辑标题文的格式,单击此处编辑大纲正文的格式,第二个大纲级,第三个大纲级,第四个大纲级,第五个大纲级,第六个大纲级,第七个大纲级,第八个大纲级,第九个大纲级,2011-11-4,*,2011-11-4,*,单击此处编辑标题文的格式,单击此处编辑大纲正文的格式,第二个大纲级,第三个大纲级,第四个大纲级,第五个大纲级,第六个大纲级,第七个大纲级,第八个大纲级,第九个大纲级,2011-11-4,*,2011-11-4,*,单击此处编辑标题文的格式,单击此处编辑大纲正文的格式,第二个大纲级,第三个大纲级,第四个大纲级,第五个大纲级,第六个大纲级,第七个大纲级,第八个大纲级,第九个大纲级,2011-11-4,*,2011-11-4,*,单击此处编辑标题文的格式,单击此处编辑大纲正文的格式,第二个大纲级,第三个大纲级,第四个大纲级,第五个大纲级,第六个大纲级,第七个大纲级,第八个大纲级,第九个大纲级,2011-11-4,*,2011-11-4,*,单击此处编辑标题文的格式,单击此处编辑大纲正文的格式,第二个大纲级,第三个大纲级,第四个大纲级,第五个大纲级,第六个大纲级,第七个大纲级,第八个大纲级,第九个大纲级,2011-11-4,*,2011-11-4,*,单击此处编辑标题文的格式,单击此处编辑大纲正文的格式,第二个大纲级,第三个大纲级,第四个大纲级,第五个大纲级,第六个大纲级,第七个大纲级,第八个大纲级,第九个大纲级,2011-11-4,*,2011-11-4,*,单击此处编辑标题文的格式,单击此处编辑大纲正文的格式,第二个大纲级,第三个大纲级,第四个大纲级,第五个大纲级,第六个大纲级,第七个大纲级,第八个大纲级,第九个大纲级,2011-11-4,*,2011-11-4,*,单击此处编辑标题文的格式,单击此处编辑大纲正文的格式,第二个大纲级,第三个大纲级,第四个大纲级,第五个大纲级,第六个大纲级,第七个大纲级,第八个大纲级,第九个大纲级,2011-11-4,*,2011-11-4,*,单击此处编辑标题文的格式,单击此处编辑大纲正文的格式,第二个大纲级,第三个大纲级,第四个大纲级,第五个大纲级,第六个大纲级,第七个大纲级,第八个大纲级,第九个大纲级,2011-11-4,*,2011-11-4,*,单击此处编辑标题文的格式,单击此处编辑大纲正文的格式,第二个大纲级,第三个大纲级,第四个大纲级,第五个大纲级,第六个大纲级,第七个大纲级,第八个大纲级,第九个大纲级,2011-11-4,*,单击此处编辑标题文的格式,单击此处编辑大纲正文的格式,第二个大纲级,第三个大纲级,第四个大纲级,第五个大纲级,第六个大纲级,第七个大纲级,第八个大纲级,第九个大纲级,2011-11-4,*,单击此处编辑标题文的格式,单击此处编辑大纲正文的格式,第二个大纲级,第三个大纲级,第四个大纲级,第五个大纲级,第六个大纲级,第七个大纲级,第八个大纲级,第九个大纲级,2011-11-4,*,单击此处编辑标题文的格式,单击此处编辑大纲正文的格式,第二个大纲级,第三个大纲级,第四个大纲级,第五个大纲级,第六个大纲级,第七个大纲级,第八个大纲级,第九个大纲级,2011-11-4,*,单击此处编辑标题文的格式,单击此处编辑大纲正文的格式,第二个大纲级,第三个大纲级,第四个大纲级,第五个大纲级,第六个大纲级,第七个大纲级,第八个大纲级,第九个大纲级,2011-11-4,*,单击此处编辑标题文的格式,单击此处编辑大纲正文的格式,第二个大纲级,第三个大纲级,第四个大纲级,第五个大纲级,第六个大纲级,第七个大纲级,第八个大纲级,第九个大纲级,2011-11-4,*,单击此处编辑标题文的格式,单击此处编辑大纲正文的格式,第二个大纲级,第三个大纲级,第四个大纲级,第五个大纲级,第六个大纲级,第七个大纲级,第八个大纲级,第九个大纲级,2011-11-4,*,单击此处编辑标题文的格式,单击此处编辑大纲正文的格式,第二个大纲级,第三个大纲级,第四个大纲级,第五个大纲级,第六个大纲级,第七个大纲级,第八个大纲级,第九个大纲级,2011-11-4,*,单击此处编辑标题文的格式,单击此处编辑大纲正文的格式,第二个大纲级,第三个大纲级,第四个大纲级,第五个大纲级,第六个大纲级,第七个大纲级,第八个大纲级,第九个大纲级,2011-11-4,*,单击此处编辑标题文的格式,单击此处编辑大纲正文的格式,第二个大纲级,第三个大纲级,第四个大纲级,第五个大纲级,第六个大纲级,第七个大纲级,第八个大纲级,第九个大纲级,2011-11-4,*,单击此处编辑标题文的格式,单击此处编辑大纲正文的格式,第二个大纲级,第三个大纲级,第四个大纲级,第五个大纲级,第六个大纲级,第七个大纲级,第八个大纲级,第九个大纲级,2011-11-4,*,单击此处编辑标题文的格式,单击此处编辑大纲正文的格式,第二个大纲级,第三个大纲级,第四个大纲级,第五个大纲级,第六个大纲级,第七个大纲级,第八个大纲级,第九个大纲级,2011-11-4,*,单击此处编辑标题文的格式,单击此处编辑大纲正文的格式,第二个大纲级,第三个大纲级,第四个大纲级,第五个大纲级,第六个大纲级,第七个大纲级,第八个大纲级,第九个大纲级,2011-11-4,*,单击此处编辑标题文的格式,单击此处编辑大纲正文的格式,第二个大纲级,第三个大纲级,第四个大纲级,第五个大纲级,第六个大纲级,第七个大纲级,第八个大纲级,第九个大纲级,2011-11-4,*,单击此处编辑标题文的格式,单击此处编辑大纲正文的格式,第二个大纲级,第三个大纲级,第四个大纲级,第五个大纲级,第六个大纲级,第七个大纲级,第八个大纲级,第九个大纲级,2011-11-4,*,单击此处编辑标题文的格式,单击此处编辑大纲正文的格式,第二个大纲级,第三个大纲级,第四个大纲级,第五个大纲级,第六个大纲级,第七个大纲级,第八个大纲级,第九个大纲级,2011-11-4,*,多媒体技术与应用,第,3,章 数据压缩技术,第,4,章 数据存放技术,第,5,章 数字音频技术,第,6,章 数字图形图像技术,第,7,章 数字视频技术,第,8,章 网络多媒体技术,第,9,章 多媒体操作系统,第1页,第,9,章 多媒体操作系统,数字电影、视频剪辑和音乐正在日益成为用计算机表示信息和进行消遣娱乐惯用方式。音频和视频文件通常保留在磁盘上,在需要时候进行回放。音频和视频文件特征与传统文本文件存在很大差异,而当前计算机文件系统最初却是为文本文件设计。所以,需要设计新文件系统来处理音频和视频文件。不但如此,保留与回放音频和视频一样给操作系统及其调度程序提出了新和更高要求。,第2页,9.1,视频剪辑与点播,通常,多媒体编辑系统需要在支持多媒体操作系统上运行,以取得最好性能。视频点播是主要多媒体技术,这意味着消费者能够在家中使用电视遥控器(或鼠标)选择电影,而且立刻将其在电视机(或计算机显示器)上显示出来。视频点播要求基于特殊基础设施,图,9-1,所表示为两种可能视频点播基础设施,每种都包含三个基本组件:一个或多个视频服务器、一个分布式网络以及一个在每个房间中用来对信号进行解码机顶盒。,第3页,图,9-1,视频点播使用不一样当地分布技术,第4页,9.1,视频剪辑与点播,视频服务器是一台功效强大计算机,在其文件系统中存放着许多电影,而且能够按照点播请求回放这些电影。大型机有时用来作为视频服务器,因为大型机连接,1000,个大容量磁盘是一件轻而易举事情。,第5页,9.1,视频剪辑与点播,用户和视频服务器之间分布式网络必须能够高速实时地传输数据。分布式网络总是使用光纤从视频服务器连接到客户居住点汇接盒。,ADSL,系统是由电话企业经营,在,ADSL,系统中,现有双绞电话线提供了最终一公里数据传输。有线电视是由有线电视企业经营,在有线电视系统中,现有有线电视电缆用于信号当地分送。,ADSL,优点是为每个用户提供了专用数据通道,所以带宽有确保,不过因为现有电话线局限其带宽比较低(只有几,Mb/s,)。,第6页,9.1,视频剪辑与点播,有线电视使用高带宽同轴电缆,带宽能够到达几,Gb/s,,不过许多用户必须共享相同电缆,从而造成竞争,对于每个用户来说带宽没有确保。不过,为了与有线电视竞争,电话企业正在为住户铺设光缆,这么,光缆上,ADSL,将比电视电缆有更大带宽。,系统最终一部分是机顶盒,这是,ADSL,或电视电缆终止地方。机顶盒实际上就是一台计算机,只不过其中包含特殊芯片用于视频解码和解压缩。机顶盒最少要包含,CPU,、,RAM,、,ROM,、与,ADSL,或电视电缆接口,以及用于跟电视机连接端子。,第7页,9.1,视频剪辑与点播,用户也能够使用现有,PC,机而且在显示器上显示电影。从技术角度看,使用个人计算机代替机顶盒更有道理,因为计算机功效愈加强大,拥有大容量磁盘,而且拥有更高分辨率显示器。不论共用是机顶盒还是个人计算机,在解码并显示电影用户端,我们通常都要区分视频服务器和客户机进程。然而,以系统设计观点,客户机进程是在机顶盒上运行还是在,PC,机上运行并没有太大关系。对于桌面视频编辑系统而言,全部进程都运行在相同计算机上,分别发挥着服务器和客户作用。,多媒体处理含有两个关键特征,即多媒体使用极高数据率和多媒体要求实时回放。,第8页,9.1,视频剪辑与点播,高数据率来自视觉与听觉信息本性。眼睛和耳朵每秒能够处理巨大数量信息,必须以这么速率为眼睛和耳朵提供信息才能产生能够接收观察体验。表,9-1,列举了几个数字多媒体源和一些常见硬件设备数据率。需要注意是,多媒体需要数据率越高,则越需要进行压缩,而且需要存放量也就越大。比如,一部未压缩,2,小时长,HDTV,电影将填满一个,570GB,文件。存放,1000,部这种电影视频服务器需要,570TB,磁盘空间,按照当前标准这可是难以想象数量。还需要注意是,没有数据压缩,当前硬件不可能跟上这么数据率。,第9页,表,9-1,一些多媒体和高性能,I/O,设备数据率,(,1Mbps=106,位,/,秒,,1GB=230,字节),第10页,9.1,视频剪辑与点播,多媒体对系统提出第二个要求是需要实时数据传输。数字电影视频部分每秒包含某一数目标帧。北美、南美和日本采取,NTSC,制式每秒包含,30,帧(实际为,29.97,帧),世界上其它大部分地域采取,PAL,和,SECAM,制式每秒包含,25,帧(,25.00,帧)。帧必须分别以,33.3ms,或,40ms,准确时间间隔传输,不然电影看起来将会有起伏。,第11页,9.1,视频剪辑与点播,耳朵比眼睛更加敏感,传输时间中即使存在几毫秒变动也会被察觉到。传输率变动称为颤动,必须严格限制颤动以获得良好性能。注意,颤动不一样于延迟。如果图9-1中分布式网络均匀地将全部位淮确地延迟5s,电影将开始得稍稍晚一些,但是看起来却不错。但从其次来说,如果分布式网络在100200ms之间随机地延迟各帧,那就会明显影响播放质量。,第12页,9.1,视频剪辑与点播,提供服务质量确保最常见方法是预先为每一个新到客户预留资源,包含,CPU,、内存缓冲区、磁盘传输容量以及网络带宽。假如一位新客户到来而且想观看一部电影,不过视频服务器或网络计算出不含有为另一位客户提供服务容量,那么它将拒绝新客户,以防止降低向当前客户提供服务质量。所以,多媒体服务器需要有资源预留方案和进入控制算法,以判定什么时候能够处理更多任务。,第13页,9.2,多媒体进程调度,多媒体操作系统与传统操作系统有三个主要区分,即进程调度、文件系统和磁盘调度。,第14页,9.2.1,调度同质进程,最简单一个视频服务器能够支持显示固定数目标电影,全部电影使用相同帧率、视频分辨率、数据率以及其它参数。在这么情况下,能够采取下述简单不过有效调度算法。对每一部电影,存在一个进程(或线程),其工作是每次从磁盘中读取电影一帧然后将该帧传送给用户。因为全部进程同等主要,每一帧有相同工作量要做,而且当它们完成当前帧处理时将阻塞,所以采取轮转调度能够很好地做这么工作。将调度算法标准化唯一额外要求是定时机制,以确保每一进程以恰当频率运行。,第15页,9.2.1,调度同质进程,实现适当定时一个方式是有一个主控时钟,该时钟每秒滴答适当次数,比如针对,NTSC,制式,每秒滴答,30,次。在时钟每一滴答,全部进程以相同次序相继运行。当一个进程完成其工作时,它将发出,suspend,系统调用释放,CPU,直到主控时钟再次滴答。当主控时钟再次滴答时,全部进程再次以相同次序运行。只要进程数足够少,全部工作都能够在一帧时间内完成,采取轮转调度就足够了。,第16页,9.2.2,普通实时调度,伴随用户数目不停改变,因为视频压缩本性(,I,帧比,P,帧或,B,帧大得多),帧大小猛烈改变,而且不一样电影可能有不一样分辨率。所以,不一样进程可能必须以不一样频率运行,含有不一样工作量,而且含有不一样最终时限。,这些考虑造成一个不一样模型:多个进程竞争,CPU,,每个进程有自己工作量和最终时限。在下面模型中,我们将假设系统知道每个进程必须以什么样频率运行、有多少工作要做以及下一个最终时限是什么。多个相互竞争进程,其中若干进程或全部进程含有必须满足最终时限调度就是实时调度。,第17页,9.2.2,普通实时调度,作为实时多媒体调度程序工作环境一个例子,我们考虑三个进程,A,、,B,和,C,,如图,9-2,所表示。进程,A,每,30ms,运行一次(近似,NTSC,制式速度),每一帧需要,10ms,CPU,时间。在不存在竞争情况下,进程,A,将在突发,A1,、,A2,、,A3,等中运行,每一突发在前一突发,30ms,之后开始。每个,CPU,突发处理一帧而且含有一个最终时限:它必须在下一个突发开始之前完成。,第18页,图,9-2,三个周期性进程,每个进程播放一部电影;每一电影帧率以及每帧处理需求有所不一样,第19页,9.2.2,普通实时调度,图,9-2,中,进程,B,每秒运行,25,次(比如,PAL,制式),进程,C,每秒运行,20,次(比如一个慢下来,NTSC,或,PAL,流,意在使一个低带宽用户连接到视频服务器)。每一帧计算时间如图,9-2,中所表示,进程,B,为,15ms,,进程,C,为,5ms,,没有使它们都含有相同时间只是为了使调度问题愈加普通化。现在,调度问题是怎样调度,A,、,B,和,C,以确保它们满足各自最终时限。,第20页,9.2.2,普通实时调度,到当前为止我们假设每个影片流有一个进程,实际上,每个影片流可能有两个甚至更多个进程,比如一个用于音频一个用于视频。它们可能以不一样速率运行而且每一脉冲可能消耗不一样数量,CPU,时间。然而,将音频进程加入到系统中并没有改变普通模型,因为我们全部假设是存在,m,个进程。每个进程以一个固定频率运行,对每一,CPU,突发有固定工作量要求。,第21页,9.2.2,普通实时调度,在一些实时系统中,进程是可抢占,在其它系统中,进程是不可抢占。在多媒体系统中,进程通常是可抢占,这意味着允许有危险错过其最终时限进程在正在运行进程完成工作以前将其中止,然后当它完成工作之后,被中止前一个进程再继续运行。这一行为只不过是多道程序设计。在多媒体系统中可抢占实时调度算法比不可抢占调度算法含有更加好性能。唯一要关心是假如传输缓冲区在极少几个突发中被填充,那么在最终时限到来之前该缓冲区应该是完全满,这么它就能够在一次操作中传递给用户,不然就会引发颤动。,第22页,9.2.2,普通实时调度,实时算法能够是静态也能够是动态。静态算法预先分配给每个进程一个固定优先级,然后使用这些优先级做基于优先级抢占调度。动态算法没有固定优先级。,第23页,9.2.3,速率单调调度,适合用于可抢占周期性进程经典静态实时调度算法是速率单调调度(,Rate Monotonic Scheduling,,,RMS,),它能够用于满足以下条件进程:,1,)每个周期性进程必须在其周期内完成。,2,)没有进程依赖于任何其它进程。,3,)每一进程在一次突发中需要相同,CPU,时间量。,4,)任何非周期性进程都没有最终时限。,5,)进程抢占即刻发生而没有系统开销。,前四个条件是合理。当然,最终一个不是,不过该条件使系统建模愈加轻易。,第24页,9.2.3,速率单调调度,RMS,分配给每个进程一个固定优先级,优先级等于进程触发事件发生频率。比如,必须每,30ms,运行一次(每秒,33,次)进程取得优先级为,33,,必须每,40ms,运行一次(每秒,25,次)进程取得优先级为,25,,必须每,50ms,运行一次(每秒,20,次)进程取得优先级为,20,。所以,优先级与进程速率(每秒运行进程次数)成线性关系,这正是为何将其称为速率单调原因。在运行时,调度程序总是运行优先级最高就绪进程,假如需要则抢占正在运行进程。已经证实在静态调度算法种类中,RMS,是最优。,第25页,9.2.3,速率单调调度,图,9-3,演示了图,9-2,所表示例子中速率单调调度是怎样工作。进程,A,、,B,和,C,分别含有静态优先级,33,、,25,和,20,,这意味着只要,A,需要运行,它就能够运行,抢占任何当前正在使用,CPU,其它进程。进程,B,能够抢占,C,,但不能抢占,A,。进程,C,必须等候直到,CPU,空闲才能运行。,第26页,图,9-3 RMS,和,EDF,实时调度一个例子,第27页,9.2.3,速率单调调度,在图,9-3,中,最初全部三个进程都就绪要运行,优先级最高进程,A,被选中,并准许它运行直到它在,10ms,时完成,如图,9-3,中,RMS,一行所表示。在进程,A,完成之后,进程,B,和,C,以先后次序运行。合起来,这些进程运行花费了,30ms,时间,所以当,C,完成时候,正是,A,再次运行时候。这一轮换连续进行直到,t=70,时系统变为空闲。,在,t=80,时,进程,B,就绪并开始运行。然而,在,t=90,时,优先级更高进程,A,变为就绪,所以它抢占,B,并运行,直到在,t=100,时完成。在这一时刻,系统能够在结束进程,B,或者开始进程,C,之间进行选择,所以它选择优先级最高进程,B,。,第28页,9.2.4,最早最终时限优先调度,另一个流行实时调度算法是最早最终时限优先(,Earliest Deadtime First,EDF,)算法。,EDF,是一个动态算法,它不像速率单调算法那样要求进程是周期性。它也不像,RMS,那样要求每个,CPU,突发有相同运行时间。只要一个进程需要,CPU,时间,它就宣告它到来和最终时限。调度程序维持一个可运行进程列表,该列表按最终时限排序。,EDF,算法运行列表中第一个进程,也就是含有最近最终时限进程。当一个新进程就绪时,系统进行检验以了解其最终时限是否发生在当前运行进程结束之前。假如是这么,新进程就抢占当前正在运行进程。,第29页,9.2.4,最早最终时限优先调度,图,9-3,给出了,EDF,一个例子。最初全部三个进程都是就绪,它们按其最终时限次序运行。进程,A,必须在,t=30,之前结束,,B,必须在,t=40,之前结束,,C,必须在,t=50,之前结束,所以,A,含有最早最终时限并所以而先运行。直到,t=90,,选择都与,RMS,相同。在,t=90,时,,A,再次就绪,而且其最终时限为,t=120,,与,B,最终时限相同。调度程序能够合理地选择其中任何一个运行,不过因为抢占,B,含有一些非零代价与之相联络,所以最好是让,B,继续运行,而不去负担切换代价。,第30页,9.2.4,最早最终时限优先调度,为了消除,RMS,和,EDF,总是给出相同结果想法,现在让我们看一看另外一个例子,如图,9-4,所表示。,第31页,图,9-4,以,RMS,和,EDF,进行实时调度另一个例子,第32页,9.2.4,最早最终时限优先调度,在这个例子中,进程,A,、,B,和,C,周期与前面例子相同,不过现在,A,每次突发需要,15ms,CPU,时间,而不是只有,10ms,。可调度性测试计算,CPU,利用率为,0.500+0.375+0.100=0.975,。,CPU,只留下了,25%,,不过在理论上,CPU,并没有被超额预定,找到一个合理调度应该是可能。,对于,RMS,,三个进程优先级仍为,33,、,25,和,20,,因为优先级只与周期相关系。这一次,进程,B,直到,t=30,才结束,在这一时刻,进程,A,再次就绪要运行。等到,A,结束时,,t=45,,此时,B,再次就绪,因为它优先级高于,C,,所以,B,运行而,C,则错过了其最终时限。,RMS,失败。,第33页,9.2.4,最早最终时限优先调度,现在看一看,EDF,怎样处理这种情况。当,t=30,时,在,A2,和,C1,之间存在竞争。因为,C1,最终时限是,50,,而,A2,最终时限是,60,,所以,C,被调度。这就不一样于,RMS,,在,RMS,中,A,因为较高优先级而成为赢家。当,t=90,时,,A,第四次就绪。,A,最终时限与当前进程相同(同为,120,),所以调度程序面临抢占是否选择。如前所述,假如不是必要最好不要抢占,所以,B3,被允许完成。,第34页,9.2.4,最早最终时限优先调度,在图,9-4,所表示例子中,直到,t=150,,,CPU,都是,100,被占用。然而,因为,CPU,只有,97.5,被利用,所以最终将会出现间隙。因为全部开始和结束时间都是,5ms,倍数,所以间隙将是,5ms,。为了取得要求,2.5%,空闲时间,,5ms,间隙必须每,200ms,出现一次,这就是间隙为何没有在图,9-4,中出现原因。,第35页,9.2.4,最早最终时限优先调度,根本上,使用静态优先级只有在,CPU,利用率不太高时候才能工作。对于,m=3,、,4,、,5,、,10,、,20,和,100,,最大允许利用率为,0.780,、,0.757,、,0.743,、,0.718,、,0.705,和,0.696,。伴随,m,,最大利用率迫近,ln2,。换句话说,对于三个进程,假如,CPU,利用率等于或小于,0.780,,那么,RMS,总是能够工作。在第一个例子中,,CPU,利用率为,0.808,而,RMS,工作正常,但那只不过是幸运罢了。对于不一样周期和运行时间,利用率为,0.808,很可能会失败。在第二个例子中,,CPU,利用率如此之高(,0.975,),根本不存在,RMS,能够工作希望。,第36页,9.2.4,最早最终时限优先调度,与此相对照,,EDF,对于任意一组可调度进程总是能够工作,它能够到达,100,CPU,利用率,付出代价是更为复杂算法。因而,在一个实际视频服务器中,假如,CPU,利用率低于,RMS,程度,能够使用,RMS,,不然,应该选择,EDF,。,第37页,9.3,多媒体文件系统,多媒体文件系统使用了与传统文件系统不一样范型。在传统文件,I/O,系统中,进程要访问一个文件时,首先要发出,open,系统调用。假如该调用成功,则调用者被给予某种令牌方便在未来调用中使用,该令牌在,UNIX,中被称为文件描述符,在,Windows,中被称为句柄。这时,进程能够发出,read,系统调用,提供令牌、缓冲区地址和字节计数作为参数。操作系统则在缓冲区中返回请求数据。以后还能够发出另外,read,调用,直到进程结束。在进程结束时它将调用,close,以关闭文件并返回其资源。,第38页,9.3,多媒体文件系统,因为实时行为需要,这一模型对于多媒体并不能很好地工作,尤其是在显示来自远程视频服务器多媒体文件时,该模型工作效果更差。第一个问题是用户必须以相当准确时间间隔进行,read,调用,第二个问题是视频服务器必须能够没有延迟地提供数据块。不过,当请求没有计划地到来而且预先没有保留资源时,做到这一点是十分困难。,第39页,9.3,多媒体文件系统,为处理这些问题,多媒体文件服务器使用了一个完全不一样范型:像录像机(,VCR,)一样工作。为了读取一个多媒体文件,用户进程发出,start,系统调用,指定要读文件(如哪些音频和字幕轨迹)和各种其它参数。接着,视频服务器开始以必要速率送出帧,然后用户进程以帧进来速率对它们进行处理。假如用户对所看电影感到厌烦,发出,stop,系统调用能够将数据流终止。含有这种数据流模型文件服务器通常被称为推送型服务器,因为它将数据推送给用户。而在传统拉取型服务器中,用户不得不经过重复地调用,read,一块接一块地取得数据,每调用一次能够拉取出一块数据。这两个模型之间区分如图,9-5,所表示。,第40页,图,9-5,不一样范型多媒体服务器区分,第41页,9.3.1 VCR,控制功效,大多数视频服务器实现了标准,VCR,控制功效,包含暂停、快进和倒带。暂停是相当简单:用户发送一个消息给视频服务器,告诉它停顿。视频服务器此时要做全部事情是记住下一次要送出是哪一帧。当用户要求服务器恢复播放时,服务器只要从它停顿地方继续就能够了。,然而,这里存在着一个复杂原因,服务器应该为每个流出数据流保留诸如磁盘带宽和内存缓冲区等资源。当电影暂停时继续占用这些资源将造成浪费,尤其是假如用户打算转而暂时去做另外一件事情时候。当然,在暂停时候能够很轻易地将资源释放,不过这引入了风险:当用户试图恢复播放时候,有可能无法重新取得这些资源。,第42页,9.3.1 VCR,控制功效,真正倒带实际上非常简单,没有任何复杂性。服务器要做全部事情就是注意到下一次要送出帧是第,0,帧。还有比这更轻易吗?然而,快进和快倒(也就是在倒带同时播放)就难处理多了。假如没有压缩,那么以,10,倍速度前进一个方法是每,10,帧只显示一帧,以,20,倍速度前进则要求每,20,帧显示一帧。实际上,在不存在压缩情况下,以任意速度前进和后退都是十分轻易。要以正常速度,k,倍运行,只要每,k,帧显示一帧就能够了。要以正常速度,k,倍后退,只要沿另一个方向做相同事情就能够了。这一方法在推送型服务器和拉取型服务器上工作得一样好。,第43页,9.3.1 VCR,控制功效,压缩则使快进和快倒复杂起来。对于便携式摄像机,DV,磁带,因为其每一帧都是独立于其它帧而压缩,所以只要能够快速地找到所需要帧,使用这一策略还是有可能。因为视其内容不一样每一帧压缩量也有所不一样,所以每一帧含有不一样大小,因而在文件中向前跳过,k,帧并不能经过数字计算来完成。另外,音频压缩是独立于视频压缩,所以对于在高速模式中显示每一视频帧,还必须找到正确音频帧(除非在高于正常速度播放时将声音关闭)。所以,对一个,DV,文件进行快进操作需要有一个索引,该索引能够使帧查找快速地实现,不过最少在理论上这么做是可行。,第44页,9.3.1 VCR,控制功效,对于,MPEG,,因为使用,I,帧、,P,帧和,B,帧,这一方案即使在理论上也是不能工作。向前跳过,k,帧(就算假设能这么做)可能落在一个,P,帧上,而这个,P,帧则基于刚才跳过一个,I,帧。没有基本帧,只有从基本帧发生增量改变(这正是,P,帧所包含)是无用。,MPEG,要求按次序播放文件。,第45页,9.3.1 VCR,控制功效,克服这一难题另一个方法是实际尝试以,10,倍速度次序地播放文件。然而,这么做就要求以,10,倍速度将数据拉出磁盘。此时,服务器可能试图将帧解压缩(这是正常情况下服务器不需要做事情),判定需要哪一帧,然后每隔,10,帧重新压缩成一个,I,帧。然而,这么做给服务器增加了沉重负担。这一方法还要求服务器了解压缩格式,正常情况下服务器无须了解这些东西。,作为替换,能够经过网络实际发送全部数据给用户,并在用户端选出正确帧,这么做就要求网络以,10,倍速度运行,这或许是可行,不过在这么高速度下正常操作必定不是一件轻易事情。,第46页,9.3.1 VCR,控制功效,总而言之,不存在轻易方法。唯一可行策略是要求预先规划。能够做事情是建立一个特殊文件,包含每隔,10,帧中一帧,而且将该文件以通常,MPEG,算法进行压缩。这个文件是“快进”文件。要切换到快进模式,服务器必须判定在快进文件中用户当前所在位置。比如,假如当前帧是,48 210,而且快进文件以,10,倍速度运行,那么服务器在快进文件中必须定位到,4821,帧而且在此处以正常速度开始播放。当然,这一帧可能是,P,帧或,B,帧,不过客户端解码进程能够简单地跳过若干帧直到看见一个,I,帧。利用尤其准备快倒文件,能够用类似方法实现快倒。,第47页,9.3.1 VCR,控制功效,当用户切换回到正常速度时,必须使用相反技巧。假如在快进文件中当前帧是,5734,,服务器只要切换回到常规文件而且从,57 340,帧处继续播放。一样,假如这一帧不是一个,I,帧,客户端解码进程必须忽略全部帧直到看见一个,I,帧。,尽管有了这两个额外文件能够做这些工作,这一方案还是有一些缺点。首先,需要一些额外磁盘空间来存放额外文件。其次,快进和倒带只能以对应于尤其文件速度进行。第三,在常规文件,快进文件和快倒文件之间往返切换需要额外复杂算法。,第48页,9.3.2,近似视频点播,有,k,个用户取得相同电影和这些用户取得,k,部不一样电影在本质上给服务器施加了相同工作量。然而,经过对模型做一个小小修改,就可能取得巨大性能改进。视频点播面临问题是用户可能在任意时刻开始观看一部电影,所以,假如有,100,个用户全部在晚,8,点左右开始观看某个新电影,很可能不会有两个用户在完全相同时刻开始,所以他们无法共享一个数据流。使优化成为可能修改是,通知全部用户电影只在整点和随即每隔(比如),5,分钟开始。所以,假如一个用户想在,8:02,看一部电影,那么他必须等到,8:05,。,第49页,9.3.2,近似视频点播,这么做收益是,不论存在多少客户,对于一部,2,小时电影,只需要,24,个数据流。如图,9-6,所表示,第一个数据流开始于,8:00,。在,8:05,,当第一个数据流处于第,9000,帧时,第二个数据流开始。在,8:10,,当第一个数据流处于第,18 000,帧而且第二个数据流处于第,9000,帧时,第三个数据流开始,以这类推直到第,24,个数据流开始于,9:55,。在,10:00,,第一个数据流终止而且再一次从第,0,帧开始。这一方案称为近似视频点播,因为视频并不是完全伴随点播而开始,而是在点播之后很快开始。,第50页,图,9-6,近似视频点播以规则间隔开始一个新数据流,本例中间隔,5,分钟(,9000,帧),第51页,9.3.2,近似视频点播,这里关键参数是多长时间开始一个数据流。假如每,2,分钟开始一个数据流,那么对于一部,2,小时电影来说就需要,60,个数据流,不过开始观看最大等候时间是,2,分钟。运行商必须判定人们愿意等候多长时间,因为人们愿意等候时间越长,系统效率就越高,而且同时能够被观看电影就越多。一个替换策略是同时提供不用等候选择权,在这种情况下,新数据流能够立刻开始,不过需要对系统做更多修改以支持即时开启。,第52页,9.3.2,近似视频点播,在某种意义上,视频点播如同使用出租车:一招手它就来。近似视频点播如同使用公共汽车:它有着固定时刻表,乘客必须等候下一辆。于是,播放最新大片可能吸引足够客户,从而确保每,5,分钟开始一个新数据流;不过对于传统经典影片,最好还是简单地在点播基础上播映。,快要似视频点播(为是效率)加上每个个体观众完全,VCR,控制(为是方便用户)是一个理想组合。经过对模型进行略微修正,这么设计是有可能,即含有,VCR,功效近似视频点播。,第53页,9.4,文件存放,多媒体文件非常庞大,通常只写一次而读许屡次,而且倾向于被次序访问。它们回放还必须满足严格服务质量标准。总而言之,这些要求暗示着不一样于传统操作系统使用文件系统布局。,第54页,9.4.1,在单个磁盘上存放文件,最为主要要求是数据能够以必要速度流出到网络或输出设备上,而且没有颤动。为此,在传输一帧过程中有屡次寻道是极其不受欢迎。在视频服务器上消除文件内寻道一个方法是使用连续文件。通常,在预先精心装载了电影视频服务器上它工作得还是不错,因为这些电影以后不会再发生改变。,第55页,9.4.1,在单个磁盘上存放文件,然而,视频、音频和文本存在是一个复杂原因,即使视频、音频和文本每个都存放为单独连续文件,从视频文件到音频文件,再从音频文件到文本文件寻道在需要时候还是免不了。这使人想起第二种可能存放排列,使视频、音频和文本交叉存放,不过整个文件还是连续,如图,9-7,所表示。此处,直接跟随第,1,帧视频是第,1,帧各种音频轨迹,然后是第,1,帧各种文本轨迹,依据存在多少音频和文本轨迹,最简单可能是在一次磁盘读操作中读入每一帧全部内容,然后只将需要部分传输给用户。,第56页,
展开阅读全文