多媒体操做系统算法
随着多媒体技术的发展,在传统OS中也相应增长了许多能处理音频和视频信息的多媒体功能。如今流行的操做系统,如Linux、 Windows 系列等,就已具备多媒体功能。本章前两节先介绍有关多媒体系统的基本知识。缓存
1. 数据、信息与媒体服务器
所谓数据,是反映客观事物及其运动状态的信号,如人体感受器官或观测仪器的感知所造成的以文本、数字、事件或图像等形式保存的原始记录。数据与数据之间没有创建任何联系或关系,呈分散和孤立的特性。数据必须通过加工处理才能造成信息。网络
2. 媒体的分类并发
通常地,媒体可分为如下六类:ide
(1) 感受媒体工具
(2) 表示媒体post
(3) 呈现媒体性能
(4) 存储媒体开发工具
(5) 传输媒体
(6) 交换媒体
3. 多媒体
所谓多媒体(multimedia),目前没有统一的定义,通常是指多种方法、多种形态传输(传播)的信息介质、多种载体的表现形式以及多种存储、显示和传递方式。在计算机领域,多媒体每每是指多媒体技术,便是同时对多个感受媒体信息进行获取、处理、编辑、存储和展现的理论、技术、设备、标准等规范的总称。
1. 超文本(hypertext)
超文本是一种文本信息的组织方式,相比传统的线性文本组织方式而言,超文本的组织方式是非线性的,与人的思惟方式和工做方式更加接近。
2. 超连接(hyperlink)
超连接也称为超文本连接(hypertextlink),是指文本中的词、短语、符号、图像、声音剪辑或影视剪辑之间的连接,或者是指它们与其它的文件、超文本文件之间的连接。
3. 超媒体(Hypermedia)
所谓超媒体,就是多媒体与超文本的结合,在多媒体技术的支持下,文本信息不只能够包含文字,还能够包含诸如图形、图像、视频、音频等多媒体信息,这些信息按照超文本结构和超连接方式进行组织,是节点和链源类型更加多样化、链结构更加复杂的超文本。
1. 多样性
所谓多样性,是指在一份多媒体文件中集成了多种媒体文件。例如在一部数字电影中,就可能包含有一个视频、多个音频、多个横向滚动的字幕等,相应地在一个多媒体文件中就有一个视频文件、多个音频文件以及多个包含多种语言的文本文件,所以一部数字电影每每是由多个不一样类型的文件组成的。
2. 极高的数据率
为了保证有好的视觉和听觉感觉,视频和音频都必须具备很高的数据率,相应的所须要的存储量就很是大。
3. 实时性
在对多媒体文件进行播放时,为保证播放质量,要求有很高的实时性。
4. 集成性
在多媒体中包含了文本、静止图像、音频、视频等各类类型的媒体,而实际须要的,则每每是将多种媒体集成在一块儿使用。所以集成性是多媒体的一个重要特征。多媒体的集成性包含了以下两方面的含义:
(1) 将多媒体的硬件和软件进行集成。
(2) 将多媒体信息进行集成。
5. 交互性
在多媒体系统中,多媒体文件还有一个很是重要的特色——使用时的交互性,即在多媒体系统中,信息以超媒体结构进行组织,能够方便地实现人机交互。换而言之,人能够按照本身的思惟习惯,按照本身的意愿主动地选择和接受信息,拟定信息的使用路径。对于仅集成了多种媒体而不具备交互性的系统,一般不把它称为多媒体系统。
1. 多媒体硬件系统的组成
多媒体硬件系统是在传统计算机系统的基础上,再增长某些能对多媒体信息进行处理的硬件。所以,它除了须要较高配置的常规计算机主机硬件,如处理机、内存、硬盘驱动器等外,还应增长用于对音频信号和视频信号进行处理的硬件,诸如音频、视频、视频处理设备,光盘驱动器,各类媒体输入/输出设备等。
2. 声卡(sound card)
声卡又称音频卡,用于处理音频信号。声卡可用来接受话筒、录音机、乐器等输入的音频(模拟)信号,经过模/数变换,将其转换为计算机可以识别和处理的数字信号。反之,声卡也能把计算机中存储的数据经数/模变换转换为声音信号,再经过链接在声卡上的音箱或耳机播放出来,也可用录音设备记录下来。声卡可根据其量化精度将其分为8位、16位和32位几档。位数越高,其量化精度也就越高,相应的,声音的音质就越好。
3. 视频卡(video card)
视频卡又称显示卡,用于处理视频信号。它除了用于对视频信号进行采集外,还可对所采集的信息进行编辑、特技处理,进而造成十分精美的画面。对于多媒体的应用,通常要求视频卡能提供800×600、1024×76八、1280×1024或更高像素的分辨率,这样才有可能很好地观看高清晰电视和数字电影。
4. 数码相机
数码相机与传统相机相比,二者用于成像的光敏介质不一样,传统相机采用的是分布在胶片上的感光化学介质,而数码相机是使用CCD做为光敏介质。CCD的做用是将所拍摄到的光信号转换为模拟电信号,再通过模/数转换变为二进制数字信号。这样即可将图像以数字形式存储在相机的内存中。为了节省内存,一般都采用JEPG方式存储。
5. 数码摄像机
1998年,第一部家用数码摄像机横空出世,因为它有着很高的清晰度、体积小巧、使用方便,并能利用计算机对影像进行处理,于是深受用户欢迎,所以它很快就取代了传统的模拟式摄像机。它也使用CCD做为光敏介质。
6. 智能传感器
智能传感器是一种具备采集、处理、交换信息功能,集成了传感器、微处理机、通讯装置的嵌入式设备。智能传感器可与外界物理环境交互,将收集到的信息经过传感器网络传送给其它的计算设备,如传统的计算机等。智能传感器通常集成了低功耗的微控制器、若干存储器单元、无线电或光通讯装置、传感器等组件,经过传感器、动臂机构以及通讯装置,实现与外界物理环境交互。
7. 多媒体软件系统
多媒体软件系统也称为多媒体软件平台,是指多媒体系统运行、开发的各种软件和开发工具及多媒体应用软件的总和。硬件是多媒体系统的基础,软件是多媒体系统的灵魂。
在多媒体文件中包含了多种类型的媒体,它们具备彻底不一样的特性,并须要用不一样的硬件和软件进行处理。
1. 模拟音频和数字音频
(1) 模拟音频。
(2) 数字音频。
① 采样。
② 量化。
③ 编码。
2. 数字音频文件类型
数字音频文件格式有多种:
① WAV文件
② MIDI文件
③ MPEG音频文件(MP3)
④ APE文件
1. 图像的数字表示
在计算机中,图像是经过矩阵表示的,矩阵中的每一个元素值对应于图像的一个基本元素,称为像素。
2. 图像的属性
1) 分辨率
分辨率可分为两种:
① 图像分辨率
② 显示器分辨率
2) 色彩深度
为了表现一幅彩色照片的色彩,每一个像素须要用许多二进制位,所用二进制位的多少就是色彩深度。
3) 真/伪彩色
因为任何一种颜色均可由三种基本颜色按不一样比例合成,目前经常使用红、绿、蓝三色,所以,当色彩深度为24时,红色(R)占8位,绿色(G)占8位,蓝色(B)占8位,能够简单表示为RGB 8∶8∶8。把用RGB 8∶8∶8表示的色彩称为真彩色图像,或全彩色图像。
3. 图像文件格式
数字图像可采用多种文件格式存储在计算机中,四种最经常使用的图像文件格式为:
(1) MP格式。
(2) IP格式。
(3) TIFF格式。
(4) PEG格式。
1. 模拟视频
当前流行的电视是模拟视频,电视信号经过光栅扫描的方法显示在屏幕上,从屏幕顶部开始逐行地向下扫描,直到最底部,由此造成一幅图像,称为一帧。水平扫描线所能分辨出的点数称为水平分辨率,一帧中垂直扫描的行数称为垂直分辨率。
1) 彩色电视的制式
电视信号的标准也称为制式。目前世界上主要有三种制式:
(1) TSC制式
(2) AL制式
(3) ECAM制式
2) 隔行扫描和逐行扫描
虽然每秒25帧已彻底可以令人眼感受图像是连续的,但有一部分人会感受到图像闪烁,这是由于在新图像到来(亮)以前,原图像在视网膜上已逐渐减弱(暗)。若是增长帧频到每秒50帧,则因为视网膜上更多的是新图像,故而能够消除闪烁现象,但会致使对带宽提出更高的要求。一种巧妙的方法是,先利用半帧的时间从上到下地扫描奇数行,把半帧称为一个场,而后再利用半帧的时间从上到下地扫描偶数行。实际代表,每秒50场已彻底感受不到闪烁现象。这一技术被称为隔行扫描。而把依次扫描每一行的技术称为逐行扫描。
2. 数字视频
如同前面所介绍的数字图像同样,数字视频中的每一帧也是由大量的像素组成的,每一个像素用若干二进制位来表示。对于彩色电视,通常用24位,红、绿、蓝各占用8位。为了消除电视中的闪烁现象,采用了隔行扫描技术。
3. 视频文件格式
1) PEG文件格式
MPEG(Motion Picture Experts Group)是运动图像压缩算法,它于1993年成为国际标准。该算法是针对运动图像设计的,是基于相互连续的几帧相差甚微这样的事实来进行压缩的。所以在单位时间内先采集第一帧中的数据,并将它保存起来,对于之后几帧只存储其中与第一帧不一样的部分。MPEG的平均压缩比为50∶1,最高压缩比可达200∶1。
2) IF文件格式
GIF(Graphics Interchange Format)是采用无损压缩方法所产生的一种高压缩比的彩色图像文件。为了减小对网络频带的要求,采用了隔行扫描方式。该格式被普遍应用于Internet上的大量彩色动画。
3) VI文件格式
这种文件格式又称为音频视频交错(audio video interleaved)格式,该格式容许音频和视频交错在一块儿同步播放,支持256色和压缩,但并未限定压缩标准,所以,也形成AVI的格式不具备兼容性,即用某种压缩标准产生AVI的文件,必须使用相应的解压缩算法,才能将它进行解压。该算法具备调用方便、图像质量好等优势,但文件体积过于庞大,主要用于在光盘上保存数字电影、电视等影像。
1. 数据压缩和解压缩
全部数据压缩系统都要求有两个算法:一个是用于对数据进行压缩,另外一个是用于对压缩数据进行解压缩。压缩与解压缩间容许存在不对称性。
2. 静止图像的压缩标准
联合图像专家小组JPEG(Joint Photographic Exports Group)研制出的数字压缩编码方法,被称为JPEG算法,它被肯定为静止图像压缩的国际标准。JPEG专家组开发了两种基本的压缩算法:一种是无损压缩算法;另外一种是有损压缩算法。
3. 运动图像的压缩算法
运动图像专家小组MPEG(Motion Picture Exports Group)研制出的运动图像压缩编码技术的标准化方法,被称为MPEG算法。该算法是基于对电影中存在的空间和时间冗余进行压缩的。
4. 运动图像的压缩标准
MPEG算法被肯定为运动图像压缩的国际标准,已在全世界范围获得普遍的应用,下面是几种经常使用的MPEG标准:
(1) PEG-Ⅰ标准
(2) PEG-Ⅱ标准
(3) PEG-Ⅳ标准
5. 音频压缩标准
在多媒体应用中,最经常使用的音频压缩标准是MPEG的音频压缩算法。它是第一个高保真音频数据压缩国际标准,该算法提供了3个独立的压缩层次。
多媒体进程(线程)与一般的进程(线程)之间有许多类似之处,好比它们须要必定数量的资源,具备三个基本运行状态等。但它们也各有本身的特色,所以,在对多媒体进程进行管理时,必须考虑多媒体数据应遵循的时序需求。
1. 实时任务的处理需求
在一般的多媒体系统中,必须按照严格的时间间隔对实时任务进行处理。或者说,必须周期性地对数据进行处理,并在一规定的截止时间前完成。
2. 软实时任务的时间特性描述
在多媒体系统中,是对连续媒体数据流进行处理。在播放数字电影时,媒体服务器将周期性地(对于PAL制式为40 ms)逐帧送出数据。相应地,媒体服务器中的处理机必须在规定的时间内对它进行处理后送给用户。可见播放数字电影将联系着一个截止时间或称为最后时限。这说明数字电影是一个要求比较严格的周期性软实时任务。
图11-1 周期任务的时间特性
1. 同时运行不一样类型的软实时任务
一般媒体服务器可向众多的用户提供各类多媒体服务,如数字电影和电视服务。在系统中,每一部数字电影都是做为一个软实时任务运行的,彼此间相互独立。不一样的软实时任务所需处理的数据量相差甚远,可能相差数十倍。每一个任务的时间特性也各不相同,它们有不一样的开始时间、截止时间、周期时间和CPU处理时间。简而言之,多媒体进程管理必须具备能支持多种不一样类型的软实时任务同时运行的能力。
2. 支持软实时任务和非实时任务同时运行
一个具备多媒体功能的通用操做系统,它既应面向软实时任务的用户,又需面向非实时任务的用户,如交互型做业的用户。所以,在系统中,应当容许多种类型的SRT任务和不一样类型的非实时任务并存。相应的进程管理应具有如下两方面的功能:一方面须要知足SRT任务对截止时间的需求;另外一方面又应使非实时任务的用户满意,并能很好地协调多种任务的并发运行。
3. 提供适当的进程接纳机制
在多道程序环境下,若是在系统中同时运行的SRT任务太多,将难以保证明时任务的截止时间需求。反之,若在系统中的SRT任务太少,CPU又会得不到充分利用。为解决此矛盾而引入了对进程的接纳控制机制,目前经常使用的是基于预留的进程接纳机制。当新进入的SRT任务提出接纳请求时,接纳机制将计算是否有足够的CPU时间片(带宽)来接纳该进程,若是有足够的CPU带宽,便接纳它,并为每个被接纳的SRT任务预留它在运行时所须要的CPU带宽,若是已无足够的带宽,便拒绝接纳。
4. 采用实时调度算法
实时调度在保证SRT任务的实时性方面起着相当重要的做用。在具备多媒体功能的操做系统中,一个好的实时调度算法应能向每一个SRT任务提供能够接受的截止时间保证,即能知足每个SRT任务绝大多数的截止时间需求。
1. SRT任务带宽和尽力而为任务带宽
为了能确保SRT任务的实时性,并适当考虑非实时任务的运行,将CPU的带宽分为两部分:
(1) RT任务带宽。把CPU的一部分带宽分配给SRT任务运行。若是SRT任务被接纳了,它将得到(分配到)一部分SRT任务带宽,进程管理便会尽量地保证它们的实时性。
(2) 尽力而为任务带宽。
2. 接纳控制
SRT任务在进入系统后,必需向CPU代理给定其定时服务质量参数,其中包含SRT任务的运行周期(p)、每一周期中的运行时间(t)和CPU占有率u。当CPU代理收到请求后,首先执行接纳控制。它根据必定的调度策略计算,肯定是否能够接纳该任务。若是在接纳后,不只可以保证它所要求的截止时间需求,并且还不会影响到原有SRT任务的运行,则CPU代理即可以接纳该进程,将它插入到进程就绪队列中等待调度。若是不能保证,将拒绝接纳。
3. CPU代理进程
CPU代理的主要任务是,接收应用程序的接纳请求,根据接纳策略,作出是否接纳的决定,并将被接纳的进程放入就绪队列。至于应调度哪个进程运行,则应由进程调度程序肯定。
4. 预留策略
1) 预留模式
有两种预留模式:
(1) 当即预留
(2) 高级预留
2) 基于服务质量参数范围的预留
一般服务质量是有必定范围的,由此造成三种预留策略:
(1) 最小预留策略,基于最小的服务质量参数所产生的接纳控制,该策略比较适合于数据率比较稳定的进程,如动画。
(2) 平均预留策略,基于平均的服务质量参数所产生的接纳控制,该策略比较适合于数据偶尔出现差错的多媒体任务。
(3) 最大预留策略,基于最高的服务质量参数所产生的接纳控制,该策略能够保证全部实时任务的截止时间,即它能够得到最好的实时性保证。
3) 预留排序
应如何肯定对预留的排序。有两种预留排序策略:
(1) 按先来先服务策略排序,先到达的请求进程优先得到服务。
(2) 按优先级排序,根据进程的优先级大小依次为全部请求进程进行服务。
在多媒体服务器中,将为所播放的每一部数字电影创建一个进程。其主要任务是,不断接收从硬盘上传送来的帧,经适当处理后,便送往屏幕。最简单的实时调度方法是,假定所要播放的电影都具备相同的类型,如都是采用相同的制式、分辨率和压缩比的彩色数字电影。
RMS算法是一个静态的、优先级驱动的算法,适用于抢占式优先级调度方式以及实时任务是周期性的状况。在采用该算法时,系统中的进程应知足以下条件:
(1) 在系统中容许同时存在周期性进程和非周期性进程,全部周期性任务具备固定的周期。
(2) 全部的进程之间相互独立,互不依赖。
(3) 对于周期性进程而言,全部进程在一个周期中,所需完成的工做量是相同的,并且任务还必须在周期内完成,不会影响到下一个周期的任务。
1. 优先级的肯定
在利用速率单调调度算法进行实时调度的系统中,代理进程将根据各个进程的请求速率(周期时间的倒数),分配给每个进程一个静态优先级,在整个运行期间不变。该优先级的大小与它的重要程度无关,只取决于进程的请求速率,请求速率最高的任务将得到最高的优先级。实际上,进程的优先级大小就等于进程的运行频(速)率。
2. 调度算法可否有效调度的衡量
在一个实时系统中,须要对调度算法是否能有效调度进行衡量,该衡量标准是依据调度算法可否知足全部进程的截止时间要求。
图11-2示出了进程Pi一个周期性任务的时序图,其中Ti是进程Pi的周期时间,Ci是进程Pi所需的处理机时间总量,Ui = Ci/Ti是进程Pi的处理机使用率。显然,在实时系统中必须保持多个进程的处理机使用率的总和不能超过1,1对应于处理机的总使用率,也就是调度上限,只有这样才有可能成功地进行调度,亦即应保持下面的不等式成立:
(11.1)
图11-2 周期性任务的时序图
应当注意,上面的表达式忽略了处理机的调度和进程的切换时间,在实际应用中,调度上限应取比1小的数,且随着处理机数目的增长而减少。Lin and Layiand证实了对于任何周期性进程系统,若是能保持下面不等式成立,就能够保证RMS算法正确工做。
(11.2)
3. RMS算法实例
假如系统中有三个周期性进程,进程A每30 ms运行一次,每次执行10 ms;进程B每40 ms运行一次,每次执行15 ms;进程C每50 ms运行一次,每次执行5 ms;图11-3中的上面三行分别示出了A、B、C三个进程的周期和执行时间。
图11-3 RMS实时调度例子
1. 用RMS算法调度失败举例
如今咱们来看另一个例子:现有三个进程A、B和C,它们的周期与前例相同,只是在此将进程A每次的运行时间由10 ms增长至15 ms,进程B和C每次的运行时间不变。对于RMS算法,因为优先级只与周期有关,而与进程每次运行的时间多少无关,所以这三个进程的优先级仍为3三、25和20。调度程序先调度A运行,在t=15时调度B运行,在t=30时进程A再次就绪,故调度A运行,在t=45时B又再次就绪,因为它的优先级高于进程C,所以又调度B运行,等到t=60进程B结束时,进程C已错过其最后期限,RMS调度失败。
2. 用EDF算法调度成功举例
在采用EDF算法进行调度时,由图11-4能够看出,前30 ms时与RMS同样。在t=30时,A2和C1都处于就绪态,若是按RMS算法,因为进程A的优先级高于C,此时应调度A运行。但用EDF算法时,A的最后时限是60,而C的最后时限是50,因此应调度C运行。在t=35时,A才再次运行,t=50时调度B运行。当t=90时,A第四次就绪,A与正在运行的B最后时限同为120,基于不是必要就不抢占的原则,仍让B继续运行。在该例中,直到t=150,处理机一直处于忙碌状态。
图11-4 用RMS和EDF进行调度
3. RMS与EDF算法的比较
(1) 处理机的利用率。
(2) 算法复杂度。
(3) 调度的稳定性。
1. 多媒体文件的多种媒体性
如前所述,一部数字电影是由多种媒体文件组成的。其中包含了一个视频文件、若干种语言的音频文件,以及不一样国家文字的文本文件,图11-5示出了一部电影所包含的文件,并且在播放时,这些媒体数据流之间还必须保持同步。
图11-5 一部电影所包含的多种媒体的文件
2. 拉型和推型文件服务器
在传统的服务器中,进程要访问一个文件时,应先用open系统调用将文件打开,而后再用read系统调用把文件中的数据读出。若是把这种方式也用于多媒体文件系统中,则用户每发出一个read系统调用命令时,服务器便送出一帧数据,如图11-6(a)所示。该方式一方面要求用户必须以精确的时间间隔不断发出read命令,读出一帧数据;另外一方面要求服务器每一个周期都能及时地提供数据。
图11-6 拉型服务器和推型服务器
3. 多媒体文件的存储空间分配方式
在传统的文件系统中,文件组织的一个重要目标是经过减小内部和外部磁盘碎片,提升磁盘空间的利用率。为此,存储空间的分配主要采用基于盘块的离散分配方式。而在多媒体文件系统中,文件组织的一个重要目标是能提供恒定速率的数据流和能及时地检索数据。
4. 人机交互性
用户在经过媒体服务器观看节目时,可根据本身的爱好,任意点播喜欢看的节目。在观看节目时,还可选择本身所熟悉的语言音频和字幕,而且能够根据须要随时更换。此外,用户还能够随时中止(或暂停)正在观看的电视,或(让电视)从一集跳至下一集,或让电影快进或快退等,即媒体服务器须要具备人机交互的功能。
1. 存储器页面锁定功能
对于某个SRT任务来讲,若是其某些页面未在物理内存,而在运行中又须要用到这些页面上的代码或数据,则将发生缺页中断,这意味着所需之页面必须从磁盘中读取。因为读盘所需的时间不只较长,并且是不肯定的,这无疑会给SRT任务带来极大的影响。为避免发生缺页中断状况,一个行之有效的方法是将SRT任务运行时所需之代码和数据锁定在物理内存中。只有这样才有可能保证SRT任务的截止时间。
2. 存储器代理
为了能保证每个SRT任务的实时性,如同处理机预留CPU带宽同样,咱们也引入了存储空间预留功能,为每个SRT任务预留锁定的存储空间。为实现该功能,在存储器管理中增长了两个功能实体:存储器代理和存储器控制器。
3. 存储器控制器
存储器控制器的主要任务是,管理为SRT任务锁定的内存页面,以保证CPU能及时得到数据。在SRT任务执行时,将ID传送给存储器控制器。后者利用预留表检查该预留ID是否合法,若是合法,便为SRT任务分配并锁定存储器。存储器控制器还把存储器的钥匙传送给SRT任务,SRT收到后,便创建起存储段与本身的地址空间之间的映射关系。
1. 媒体服务器的服务质量
不一样的SRT任务,所要求的服务质量并不彻底相同。所以,一个媒体服务器应当可以提供几种服务质量,以知足不一样用户的须要。一般,能够提供以下三种服务质量保证:
(1) 肯定型的保证。
(2) 统计型的保证。
(3) 尽力而为型保证。
2. 接纳控制
对于不一样的服务质量保证和不一样的服务所采用的接纳控制条件是不同的,在这里只是讨论接纳控制条件中最基本的问题。
1. 多媒体文件存放中的问题
多媒体文件存放最重要的要求是,存放在硬盘上的数据如何能快速地传送到输出设备上,不会发生因送出数据不及时而使屏幕上的画面发生颤动。在采用离散分配方式时,在磁盘传输速率足够高的状况下,送出数据不够及时最主要的缘由是在传输一帧的过程当中须要进行屡次寻道,因为寻道和磁盘旋转延迟一般都须要数十毫秒,很难及时将数据送出。所以,多媒体文件都采用连续文件。
2. 交叉连续存放方式
在该方式中,不只要求多媒体中的每一个文件是连续文件,并且还需在不一样文件间采起按帧交叉的方式存放。首先存放第一帧中的视频数据,紧靠着它存放第一帧中的各类音频数据,而后是存放第一帧中的多个文字数据,如图11-7所示。在从磁盘读出时,最简单的方法是将每一帧中全部数据所有读出到内存的缓冲区中,而后只将用户所需之部分传送给用户。
图11-7 交叉连续存放方式
为了克服交叉连续存放方式的缺点,即在每一部数字电影中所包含的视频文件、音频文件和多个文本文件都须要连续存放,而引入了索引存放方式。该方式又可分为两种:
(1) 帧索引存放方式,又称为小盘块法。
(2) 块索引存放方式,又称为大盘块法。
1. 帧索引存放方式的基本原理
在小盘块法中,所选定的盘块大小应远小于帧的大小。对于每秒30帧的MPEG-Ⅱ而言,帧的平均大小为16 B,一般选定盘块大小仅为1 B或2 B,故将它又称为小盘块法。这样,电影中的每一帧信息须要存放在一连串的连续盘块中。和前面同样,在这一串连续的盘块中,还是包含了一个视频、多个音频和多个文本文件的数据。
图11-8 索引存放方式
2. 帧索引存放方式的性能分析
(1) 支持随机访问。
(2) 关于快进、快退问题。
(3) 磁盘碎片较小。
(4) 帧索引表大。
(5) 缓冲管理简单。
(6) 存储管理复杂。
1. 块索引存放方式的基本原理
在块索引存放方式中所选定的盘块较大,其大小应远大于一帧的大小,如256 B,以便在一个盘块中能够存放多个帧,故将它称为大盘块法。因为在大盘块法中每一个数据块的大小是相同的,故把这种组织称为恒定数据长度。
2. 块索引存放方式的性能分析
(1) 支持随机访问。
(2) 磁盘碎片较大。
(3) 块索引表小。
(4) 缓冲管理复杂。
1. 近似视频点播(near video on demand)
近似视频点播是视频点播的一种近似,它是每隔必定时间开始一次播放。
图11-9 近似视频点播的数据流图
2. 近似视频点播的文件存放
在近似视频点播中,即便电影文件是连续文件,但在它以24个数据流错时送出时,因为每两个相邻的数据流都相差9000帧,所以从一条数据流转至下一个数据流时就须要进行寻道。但若是能采用如图11-10所示的方法,则几乎能够彻底消除寻道操做。
图11-10 近似视频点播的文件存放
1. 单个磁盘的状况
前面所考虑的只是在视频服务器上存储了单部电影,但实际状况每每是视频服务器上存储了多部电影。若是这些电影被随机地存放在磁盘的各个地方,那么当多个用户须要同时观看这些电影时,必然会形成磁头的频繁来回摆动。应如何在磁盘上存储多部电影呢?
一般,每一部电影的点击率是不一样的。咱们在将这些电影存储在磁盘上时,应当将电影的流行因素考虑进去,使越流行的电影越容易被访问到。事实上,有许多流行的事物,如流行电影、流行音乐、访问Web网页等,大致上都遵循一种可预测模式,该模式又被称为Zipf定律。该定律可描述为:
图11-11 多部电影按管风琴算法分布
2. 多个磁盘状况
为了知足众多用户的须要,配置在视频服务器上的磁盘系统一般都须要很大的存储容量,所以在视频服务器上的磁盘系统,大都采用许多个磁盘来扩大磁盘系统的容量,如采用RAID磁盘阵列。
图11-12 在多个磁盘上的存放方式
对于传统的OS,在内存中设置高速缓存的主要目的,是为了减小对磁盘的访问时间。所采起的方法是将那些在不久以后可能会被访问的盘块数据放入到高速缓存中,以便之后须要时,可直接从高速缓存中读取,这样就节省了对磁盘的访问时间。
1. 块高速缓存
虽然说当一个用户在看一部电影时,刚放过的盘块不会被重用,但若是是有多个用户几乎同时在看一部电影,刚放过的盘块则可能会被屡次重用。
2. 将两条视频流合并
若是两条视频流在时间上相差不多,咱们能够对两条视频流进行合并。
图11-13 将两条视频流合并
3. 文件高速缓冲
在一个为公众服务的视频服务中心,一般都应当备有许多电影和电视剧节目。因为在DVD光碟中的电影或电视剧所占用的存储空间都很是大,通常都有数GB,于是不可能都装入视频服务器的磁盘上,而是仍然放在光盘或磁带上。在须要播放某部电影时,再将它们复制到磁盘上。但因光盘特别是磁带的低速性,要将这些电影从光盘复制到磁盘上须要花不少的时间。因而在大多数视频服务器中,都是将用户请求最频繁的电影文件放入内存的高速缓冲中,而把流行的整部电影文件放在磁盘上。
在多媒体系统中对磁盘调度提出了比传统OS更为严格的要求。其主要缘由是:
(1) 多媒体文件的数据量特别大,相应地要求数据传输速率也很是高。
(2) 为保证电影的播放质量,要求具备很高的实时性;
(3) 对于一台视频服务器,可能要同时处理成百上千的用户请求。
1. 可预测性
在传统OS中,用户对磁盘的请求是难以预测的,所以通常只提供了预读一个盘块数据的功能。而在多媒体系统中,不管是电影仍是电视剧都是连续播放的,即在播放了第i帧后,紧接着就会播放第i 帧,这就大大提升了请求的可预测性。
2. 按磁道顺序排序
假如视频服务器中仅有一个磁盘,有10个用户在观看不一样的电影,而这些电影又具备相同的帧频、分辨率。这时,系统能够为每一部电影创建一个进程,在进程调度时采用轮转法方式。首先让第一个进程运行,当它运行完后调度第二个进程运行,直至最后一个进程运行完毕。这里的关键问题是,全部进程运行一次的时间,应小于每帧之间的时间间隔40 ms。
图11-14 磁盘请求的处理顺序
为简单起见,在前面曾假设,全部的电影具备相同的分辨率和帧频。如今再来分析当多部电影具备不一样的分辨率和帧频时,所播放的电影对磁盘的请求会带有必定随机性的状况。
1. 动态磁盘调度算法应考虑的因素
当第一个用户提出观看某部电影的要求时,因为此时尚无其余用户请求,故可当即得到服务。在此期间可能会有其余用户发来请求,它们都会被挂起。
2. scan-EDF算法
上述的性能因素和实时因素常常会发生矛盾。为了知足前者,每每会错过最终时限。反之,为了知足后者,则又会增长总寻道时间。scan-EDF算法同时考虑这两个因素,并将这两个因素结合起来,以达到既能基本上知足实时性要求,又可得到较好性能的目的。该算法的基本思想是,基于实时因素是硬性要求的这一特性,先考虑截止时间要求,将多个截止时间相近的磁盘请求放在一个组中,由此能够造成若干个组,在每个组中再按照磁道序号进行排序。
图11-15 scan-EDF算法示意图
习 题 8:
1. 试说明多媒体文件有哪些特色。
2. 多媒体的集成性包含了哪几方面的含义?
3. 在计算机系统中,为了进行图像、音频信号和视频信号的处理,须要增长哪些硬件?
4. 经常使用的数字音频文件有哪几种类型?
5. 彩色电视的制式有哪几种? 我国采用的是哪种?
6. 简单说明几种经常使用的MPEG标准。
7. 试说明在多媒体系统中,对实时任务的处理有何需求。
8. 在多媒体系统中,进程管理中必须解决哪些问题?
9. 什么是SRT任务带宽和尽力而为任务带宽? 为何要设置这两种带宽?
10. CPU代理的主要任务是什么? 在什么状况下能够接收新进程?
11. 什么是预留策略? 预留策略涉及哪些重要问题?
12. 速率单调调度RMS算法里的优先级是如何肯定的? 该算法需知足什么样的条件?
13. 试对EDF算法与RMS调度算法进行比较。
14. 何谓拉型和推型文件服务器? 它们分别适用于何种场合?
15. 试比较通常的文件服务器和媒体服务器。
16. 何谓存储器页面锁定功能? 在多媒体系统中为何须要该功能?
17. 存储器代理的主要任务是什么? 它是如何来实现该任务的?
18. 媒体服务器接纳控制的主要任务是什么? 它是如何实现接纳控制的?
19. 为了知足不一样用户的须要,媒体服务器能够提供哪几种服务质量保证?
20. 把多媒体文件存放在硬盘上时,为何要采起交叉连续存放方式?
21. 什么是帧索引存放方式? 什么是块索引存放方式?
22. 试对帧索引存放方式的性能进行分析。
23. 试对块索引存放方式的性能进行分析。
24. 什么是近似视频点播? 近似视频点播的文件应如何存放?
25. 当两条视频流在时间上相差不多时,为何要将它们合并? 如何合并?
26. 什么是Zipf定律? 按照管风琴算法规定,在单个磁盘上应如何存放多部电影?
27. 高速缓存在多媒体系统中可有哪些用处?
28. 为何在多媒体系统中对磁盘调度提出了比传统OS更为严格的要求?
29. 多媒体系统中对磁盘调度比传统OS更为容易处理的地方又有哪些?
30. 为何说can-EDF算法既能知足实时性要求,又可得到较好的性能?