第7章 多媒体操作系统讲义

上传人:今*** 文档编号:107048695 上传时间:2019-10-17 格式:PPT 页数:33 大小:205.50KB
返回 下载 相关 举报
第7章 多媒体操作系统讲义_第1页
第1页 / 共33页
第7章 多媒体操作系统讲义_第2页
第2页 / 共33页
第7章 多媒体操作系统讲义_第3页
第3页 / 共33页
第7章 多媒体操作系统讲义_第4页
第4页 / 共33页
第7章 多媒体操作系统讲义_第5页
第5页 / 共33页
点击查看更多>>
资源描述

《第7章 多媒体操作系统讲义》由会员分享,可在线阅读,更多相关《第7章 多媒体操作系统讲义(33页珍藏版)》请在金锄头文库上搜索。

1、第7章 多媒体操作系统,7.1 计算机操作系统的问题 7.2 操作系统对连续媒体的支持 7.3 支持连续媒体的文件系统,7.1 计算机操作系统的问题,7.1 计算机操作系统的问题,问题:用户从网上阅读视频邮件时,同时打开另一个文本文件可能会导致视频扭曲、抖动。用户听音乐时,由于另一个程序结束,使音乐突然加速。 原因:现有操作系统不提供对过载的控制和管理。 缺乏操作系统的实时支持 缺乏基于QoS的资源管理 对系统的输入输出缺乏有效的管理和控制 缺乏适合连续媒体的文件系统,7.1.1 操作系统的基本概念,1.操作系统的分类 单用户系统 分时系统 实时系统 多媒体系统中大量使用基于时间的连续性媒体,

2、对时间的要求非常严格。 单用户和分时系统难以满足多媒体操作系统对时间的要求, 而实时系统却可以为多媒体操作系统提供一个基于时间管理途径。,7.1.1 操作系统的基本概念,2.实时系统的有关概念 实时系统的一个重要特点是任务具有时间约束。 周期性:任务必须在每个周期内完成一次。 非周期性:必须有一个启动时间或结束时间,或二者兼有。 时限(deadline):任务必须完成的最后期限。 任务执行时间:从启动到完成所花费的时间。 任务余量:完成任务后离时限的时间余量。 紧时间约束:任务余量少。 松时间约束:任务余量大。 时限粒度:任务从启动到时限之间的时间。 强时性:时限前必须完成,否则结果无用。 弱

3、实时或软实时:超过时限结果的可用性下降。 关健任务:完不成会引起灾难性后果的任务。,7.1.1 操作系统的基本概念,实时系统必须满足逻辑正确性和时间约束两个条件。 任务调度中应处理的一些情况: 可抢占及非抢占任务 周期性和非周期性任务 具有多级重要性的任务 具有单个时限的任务组 有优先权限制的任务 调度的内容:CPU调度,资源分配,I/O调度,实时通信调度,分布式调度,关键任务调度,7.1.1 操作系统的基本概念,调度算法: 早期用表驱动循环调度算法 近来用基于优先级的抢占调度算法 有静态的或动态的优先级 其它的调度算法 不精确调度算法 最早时限优先算法 最关键任务优先算法 关键性和时限优先算

4、法 最小余量优先,实时系统好坏的衡量: 响应时间。包括中断响应时间、任务等待时间、关联转换时间 吞吐率 可靠性,7.1.2 多媒体的引入与操作系统的限制,1、实时服务与时间要求 传统的操作系统考虑多个进程下的资源管理、设备控制等工作,用于多媒体基于时间的连续媒体应用不适合,因这些系统不具有对时间的复杂控制和维护特定QoS的机制,没有提供在系统短暂过载时进行保护和管理的模式,缺乏实时服务。 它给应用分配用户级的线程,应用无法抢占和控制,调度时没有相应的优先方法。,7.1.2 多媒体的引入与操作系统的限制,2、中断等待 中断等待是传统操作系统不能很好地支持实时活动的一个原因。 改善内核中断延迟的方

5、法: 将内核的内部结构进行改变,可允许较高级的抢占 给现存的内核增加一个安全抢占点的集合 将现在的内核转化成为一个用户程序,使之在一个微内核上运行。,7.1.2 多媒体的引入与操作系统的限制,3、优先权倒置管理 当一个实时程序在系统中与一个非实时程序共享同一个资源时,会出现实时程序不得不等待非实时程序运行完成的情况。 解决办法:引入优先权继承和优先权交出机制。 优先权继承: 当优先权高的线程被封锁时,把它的优先级传给对它进行封锁而优先权低的线程, 等低优先权的线程停止封锁高优先权的线程时,低优先权的线程就恢复到它原先的优先权。,7.1.2 多媒体的引入与操作系统的限制,4、周期性活动 连续媒体

6、为了传输和表现需要周期性的服务活动。 最简单的操纵周期性数据流的方法是使用循环结构 while (1) get_cm_object (); draw_cm_object (); 在多道程序环境下,拖拉速率可能会因系统的负载而改变。系统负载重,拖拉动作可暂停,其它任务终止后,拖拉动作会加速。,7.1.2 多媒体的引入与操作系统的限制,如果需要更为精细的时间控制,可通过Sleep功能来对拖拉速率调节(Unix系统) start_time = get_current_time ( ) ; while (1) get_cm_object (); draw_cm_object (); start_tim

7、e = start_time + period duration=start_time_get_current_time( ); sleep (duration); ,7.1.2 多媒体的引入与操作系统的限制,5、时限和恢复管理 与传统的实时系统不同,连续媒体应用程序具有内在的“软”时限,错过时限不会引起全局混乱,但应用可要求改变QoS级别。 within (dead_line_duration) do get_cm-object (); draw_cm-object (); except recorvery_action; ,7.1.2 多媒体的引入与操作系统的限制,6、QoS管理和许可控制

8、 连续媒体应用的QoS管理可分成两种QoS控制模式: 静态的:会话开始时,由用户指定一个QoS级,整个期间维持。 动态的:允许用户或系统在会话存在期间改变QoS初始值。 改变QoS方法: 根据系统可用资源变化进行调整 根据任务的需要改变QoS级 目前的操作系统还不能很好地支持这两种QoS控制模式。,7.2 操作系统对连续媒体的支持,7. 2 操作系统对连续媒体的支持,目前还缺乏一个能全面支持多媒体的操作系统。新的操作系统对连续媒体应用的支持可分为三个方面: 体系结构的支持 资源管理的支持 程序设计的支持,7.2.1 体系结构的支持,操作系统的基本结构一般是内核体系。 进程管理、文件系统服务、网

9、络管理、虚拟内存管理、设备管理等服务都在内核中,内核庞大,扩充困难。 CMU大学研制的Mach O.S采用新的微内核体系。 微内核中包括:线程和任务管理、IPC管理、存储对象管理、虚拟内存服务、I/O和中断服务等。 文件管理、进程管理、设备驱动等移出内核,作为操作系统服务器在用户空间运行。 在微内核上安排新操作系统功能的方法: 作为库例程服务 (SL) 作为一个或多个服务器 (SS) 作为微内核的一个功能 (SK),7.2.2 资源管理的支持,1、基于QoS的资源控制 根据用户的QoS请求对资源进行管理 2、实时调度 应能对连续媒体的最大和最小执行速率实行控制和强制 3、基于QoS的内存管理

10、应能以时间为基础对连续媒体对象进行预调。 4、基于时间的I/O管理 时态的正确性更为重要,必须对多重数据流的同步进行支持。,7.2.3 程序设计的支持,1、实时线程 实时线程具有时间约束。 如实时线程f( )在生成时带有属性f,Si,Ti,Di,其中f描述线程的功能,Si,Ti,Di分别描述线程的起始时间、周期和时限。 2、时限管理 计时错误:一种未能满足用户指定计时约束的故障模式,对实时程序是灾难性的。 3、实时同步 系统应提供快速事件标识机制和实时互斥机制以支持实时同步。 采用基于优先权的优先权继承协议避免优先权倒置。,7.2.4 实时IPC(进程间通信),RT Mach中,对原始的IPC

11、进行了扩展,提供了基于优先权的排队、优先权交出和优先权继承机制。 消息排队 指明消息排队的次序,可用FIFO及基于优先权的排队策略。 优先权交出 在消息传递时操纵接收者的优先权。 优先权继承 执行优先权继承协议。 消息分发 两个或多个接收者运行时,选择合适的接收者线程。,7.3 支持连续媒体的文件系统,7. 3 支持连续媒体的文件系统,传统文件系统无法支持连续媒体,因数据量巨大。 主要问题: 连续媒体文件的布局:连续媒体文件数据快如何在磁盘上进行安排。 对缓冲器的要求:每个媒体流必须分配的最小缓冲是多大? 允许准则:当前服务的客户集合中再增加一个客户,何时安全? 服务中客户请求的调度:对给定的

12、一组客户请求,在一轮服务中如何排序,才可满足实时性要求并使缓冲器资源最小。,7.3.1 单流情况,单个连续媒体流固定回放问题。 读取函数、消耗函数、缓冲函数之间的关系如下图,7.3.1 单流情况,最早起始时间 改变t0使B(t,0)最小且非负,即为最小的开始时间。 最少缓冲器 考虑块间延迟dmax,如果回放速度rc小于传输速率rt,还要考虑人为延迟dmin. 假设分配的缓冲与记录长度无关,则任何算法使用的块大小都至少是Sb数目的磁道扇区大小。 其中SS为磁道扇区的大小,并至少要分配nb数目的磁道扇区大小的缓冲。,7.3.2 多流情况,在某些假设条件下,多通道播放的问题: 各通道有不同的消耗速率

13、 某些通道的回放可以暂停,其它回放过程仍可继续。 每个读周期中各通道的读取总量不固定。 读周期中所需操作数据是由缓冲器保存的,读取的数据量至少足够一个读取周期的使用。 一个读周期内的操作不会饥饿,要求读操作读出的数据能跟上数据的实时使用。 “没有饥饿”要求在读操作之间必须缓存量为rcmax的数据。(max是给定通道两个读操作之间最大的时间间隔)。,7.3.2 多流情况,令T(Sj)为对排序集合Sj执行读操作的最大时间,对一个特定的通道c,如果所有对c的读请求都在s的读周期中第一个执行,而在下一周期时在最后一个执行,这就是最大max。 为防止读操作之间饥饿,必须读足够多的数据以保证在读其它集合和

14、读同一集合中其它通道时有缓冲的数据供消耗,利用上式,可对每个排序集提供的T(s)值来分析各种调度策略,一旦知道了min,则所需要的最小缓冲是rimax+(依赖于磁盘簇的大小)。,7.3.3 介质调度,1传统磁盘调度算法 传统操作系统介质驱动调度算法的目标主要是为了减少寻道操作的开销,提高数据的流量和对介质的随机存取。 算法主要包括:先来先服务(FCFS)、最短寻道时间优先(SSTF)、扫描法(SCAN)、循环扫描法(C-SCAN)、分组扫描法和电梯调度法等。 FCFS先来先服务算法根据请求的先后服务,由于磁头运动无规律,所以效率比较低。 SSTF最短寻道时间优先算法则要找到离磁头现在位置最近的

15、请求进行服务,这样有的请求可能会在长时间内得不到服务,尤其那些在磁盘边缘的请求。 SCAN扫描算法从一端向另一端扫描过去,遇到请求便服务,没有请求则继续前进。运动到磁盘的边缘后再反方向运动,继续扫描。 电梯算法是对SCAN算法的改进,它是在同一方向上没有请求时,不再运动到磁盘边缘,而直接响应反方向的请求。,7.3.3 介质调度,图 FCFS磁盘调度示例,7.3.3 介质调度,图 SSTF磁盘调度示例,7.3.3 介质调度,图 SCAN磁盘调度示例,7.3.3 介质调度,图 C-SCAN磁盘调度示例,7.3.3 介质调度,2最早时限优先法(Earliest Deadline First,EDF)

16、 如请求的服务时间可以预知,可用最早时限优先法。该算法中,系统调度器在每一次就绪状态时进行调度,选择一个已经就绪但仍未处理完毕但时限最早的任务,并将其请求的资源赋给它。 3SCAN-EDF算法 SCAN-EDF算法是一种SCAN与EDF相结合的调度算法,它既可以提供寻道优化,又可以做到最早时限优先服务。对请求的服务一般按其EDF顺序,如果几个请求的时限相同,那么就根据它们对应的介质位置。 4分组移动调度算法( Grouped Sweeping Scheduling GSS) GSS调度算法按循环轮转方式进行服务。为了减少磁头的移动,n个流将被分为g组,以固定的顺序为每个组服务。对组中的每个流,系统将根据SCAN算法进行服务。这是一种混合的调度算法。,7.3.3 介质调度,图 EDF磁盘调度算法,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号