《现代操作系统(中文第三版)》课后习题——第七章 多媒体操作系统

第七章 多媒体操作系统

1.未压缩的黑白NTSC电视能否通过快速以太网发送?如果可以的话,同时可以发送多少个频道?

答:标准的NTSC电视约有640×480个像素,并且8位/像素和30帧/秒,需要73 Mbps的带宽,所以快速以太网只能发送一个频道。

2.HDTV的水平分辨率是常规电视的两倍(1280像素对640像素)。利用正文中提供的倍息,它需要的带宽比标准电视多多少?

答:可以看出,HDTV的分辨率是1280×720,而普通电视的分辨率是640×480。HDTV具有普通电视三倍的像素,因此需要三倍的带宽。不需要四倍带宽的原因是HDTV的宽高比为了适应35毫米胶片的宽高比而与普通电视不同。

3.在图7-3中,对于快进和快倒存在着单独的文件。如果一台视频服务器还打算支持慢动作,那么对于前进方向的慢动作是否需要另一个文件?后倒的方向如何?

答:对于前进方向的慢动作,只要每帧连续显示两次或两次以上就能实现,不需要额外的文件。而慢动作后倒,与快速后倒一样困难,所以需要另一个文件。

4.声音信号用16位有符号数(1个符号位,15个数值位)采样。以百分比表示的最大量化噪声是多少?对于长笛协奏曲或摇滚音乐这是不是一个大问题,或者对于两者是不是问题相同?请解释你的答案。

答:可以表示32,768个可能的幅度。例如,假设信号范围为-32.768伏特到+32.767伏特,并且每个信号采样后所存储的值是四舍五入到最接近的毫伏数,作为带符号的16位整数。16.0005伏的信号必须记录为16.000或16.001,此时的百分比误差是1/320%。然而,假设信号为0.0005伏。这被保存为0或0.001,在后一种情况下,百分百误差是50%。因此量化噪声更影响低幅度的信号。长笛协奏曲由于幅度较小而比摇滚更受影响。

5.唱片公司能够使用20位采样制作数字唱片的母片,最终发行给听众的唱片使用的是16位采样。请提出一种方法来减少量化噪声的影响,并讨论你的方案的优点和缺点。

答:卷压缩/扩展方案可以如下实现。输出的一位被保留以表示记录的信号被扩展。剩余的15位用于表示信号。当20位信号的高位5位不为00000时,扩展位为0,其他15位包含采样数据的高位15位。当信号的高5位为00000时,扩展位置1,20位振幅信号向左移位5位。在用户播放的时候,进行相反的过程。该方案对于大声信号(由于15位表示信号而不是16位信号)而言略微增加了量化噪声,但是当量化效应最为显着的时候,它会量化噪声比降低。一个主要的缺点是,这不是一个标准,并不适用于现有的CD播放器,但它可以适用于在两端使用这种方案的特殊插件播放的在线音乐。更复杂的版本可以使用2位来表示不同信号电平的四种不同的扩展方式。

6.DCT变换使用8×8的块,但是用于运动补偿的算法使用16×16的块。这一差异是否会导致问题?如果是的话,在MPEG中这个问题是怎样解决的?

答:差异不会引起问题。DCT算法使用类似JPEG的方案对I帧进行编码。在P帧中使用宏块来定位在先前帧中出现的宏块。这两件事与彼此无关,并不冲突。

7.在图7-10中,我们看到对于静止的背景和运动角色MPEG是如何工作的。假设一个MPEG视频是由这样的场景制作的:在该场景中摄像机被安装在一个三脚架上并且从左到右摇动镜头,摇动的速度使得没有两幅连续的帧是相同的。现在是不是所有的帧都必须是I帧?为什么?

答:不是,运动补偿算法会发现前一帧中的每个宏块与其当前位置偏移一些。当前宏块可以从前一帧宏块相对应的位置(Δx,Δy)处获取,并不需要再次发送宏块本身。

8.假设图7-13中的三个进程中的每个进程都伴随一个进程,该进程支持一个音频流按照与视频进程相同的周期播放,那么音频缓冲区可以在视频帧之间得到更新。所有这三个音频进程都是完全相同的。对于一个音频进程的每一次突发,有多少可用的CPU时间?

答:处理三个视频流的进程已经使用了0.808的CPU时间,所以每秒剩下192毫秒的时间留给音频处理。音频进程A运行33.333次/秒,音频进程B运行25次/秒,音频进程C运行20次/秒,总共需要运行78.333次/秒。这78.333次运行可以使用192毫秒的时间,因此每次运行可以使用192/78.333≈2.45毫秒。

9.两个实时进程在一台计算机上运行,第一个进程每25ms运行10ms, 第二个进程每40ms运行15ms,RMS对于它们是否总是起作用?

答:第一个进程使用0.400的CPU。第二个使用0.375的CPU。他们一起使用0.775。两个过程的RMS限制为2×(20.5–1),为0.828,所以RMS能总是起作用。

10.一台视频服务器的CPU利用率是65%。采用RMS调度该服务器可以放映多少部电影?

答:由于0.65 <ln 2,RMS可以调度电影,无论有多少。因此,RMS不限制电影数量。

11.在图7-15中,EDF算法保持CPU 100%忙碌,直到t = 150的时刻,它不能保持CPU无限期地忙碌,因为CPU每秒只有975ms的工作要做。扩展该图到150ms之后并确定采用EDF算法CPU何时首次变为空闲。


答:从t = 150开始的序列是A6,B5,C4,A7,B6,A5和C5。当C5在t = 235结束时,CPU无工作,直到t = 240时,A和B才准备就绪,所以系统空闲5毫秒。在C4之前运行B5的选择是任意的。另一种方式也是可能的。

12.DVD可以保存足够的数据用于全长的电影并且传输率足够显示电视质量的节目。为什么视频服务器不采用许多DVD驱动器的“存储库”作为数据源?

答:DVD播放器可以用于家庭观看,但是目前光学记录系统的高寻找时间限制了它们提供单个数据流的有用性。DVD驱动器不能支持具有不同起始时间或VCR类控制功能的多个流,如不同用户的暂停,倒带和快进。使用当前的技术,数据必须在非常大的内存中进行缓冲。相对来说,硬盘比较好。

13.近似视频点播系统的操作员发现某个城市的人们不想意为电影开始而等待超过6分钟的时间, 对于一部3小时的电影,需要多少个并行的数据流?

答:如果最坏的情况是等待6分钟,新的流必须每6分钟开始一次。对于一个180分钟的电影,需要30个并行的数据流。

14.考虑一个采用Abram-Profeta与Shin提出的方法的系统,在这个系统中视频服务器操作员希望客户能够完全在本地向前或向后搜索1分钟。假设视频流是速率为4 Mbps的MPEG-2,每个客户在本地必须有多大的缓冲区空间?

答:数据速率为0.5 MB/秒。一分钟的视频使用30 MB。要向前或向后搜索1分钟,所以需要60 MB的缓冲区空间。

15.考虑Abam-Profeta和Shin方法。如果用户用大小为50MB的RAM 用来缓冲,那么一个2Mbps的视频流的ΔT是多少?

答:我们有2×ΔT×2×106≤50×220×8,所以ΔT≤105秒。

16.一个HDTV视频点播系统使用图7-20a的小块模型,磁盘块大小为1KB。如果视频分辨率为1280×720并且数据流速率为12Mbps,那么在一部采用NTSC制式的2小时长的电影中有多少磁盘空间浪费在内部碎片上?

答:HDTV没有任何区别。电影中仍然有216,000帧。每个帧的浪费大约是一半的磁盘块,或0.5 KB。对于整部电影来说,这个浪费是108 KB。

17. 针对NTSC和PAL,思考图7-20a的存储分配方法。对于给定的磁盘块和影片大小,是否一种制式比另一种制式具有更多的内部碎片?如果是的话,哪一种制式要好一些?为什么?

答:每一帧都有一些碎片。帧数越多,碎片就越多。NTSC具有更高的帧速率,所以它有更多的碎片。但考虑这些数字,这个碎片并不是总磁盘空间的很大一部分。

18.考虑图7-20所示的两种选择。向HDTV的转换是否更有利于其中的一种系统?请讨论。

答:HDTV的主要效果是较大的帧。大帧使小磁盘块的缺点变得不太严重,因为大帧可以被高效地读取。因此,有利于大磁盘块的性能参数减少。另外,如果帧不在块间分割(因为它们不在这里),占据磁盘块相当大部分的I帧是严重的问题。通常可能会出现一个磁盘块已经快满了,但是下一个出现的的较大的I帧,这就浪费了当前磁盘块中的大量空间。总的来说,向HDTV的转换对小磁盘块模式比较有利。

19.考虑一个系统,它有2KB磁盘块,能存储2小时的PAL制电影,平均每帧16KB。那么用小磁盘块存储方法平均浪费空间是多少?

答:平均来说,每个块可以浪费1KB。2小时PAL电影需要18万帧。因此,这部电影的平均磁盘空间总浪费是180,000 KB。

20.上例中,如果每帧项需要8字节,其中有1字节用来指示每帧的磁盘块号,那么可能存储的最长的电影大小是多少?

答:每个帧索引块最多可以存储2048/8=512个条目。由于每帧可以大到255×2 KB = 510KB,最大文件大小可以是:512×510KB = 261,120KB。

21.当每一个帧集合的大小相同时,Chen与Thapar的近似视频点播方法工作得最为出色。假设一部电影正在用同时发出的24个数据流播放,并且10帧中有1帧是I帧。再假设I帧的大小是P帧的10倍,B帧的大小与P帧相同。一个等于4个I帧和20个P帧的缓冲区不够大的概率是多少?你认为这样的一个缓冲区大小是可接受的吗?为了使问题易于处理,假设在数据流中帧的类型是随机且独立分布的。

答:如果I帧的数量为4或更小,则缓冲区足够大。准确获得I帧的概率是C(24,k)I kB24−k,其中I为0.1,B为0.9,准确获得0,1,2,3和4个I帧的概率分别为0.0798,0.213,0.272,0.221和0.129,总和是0.915。这意味着有0.085或8.5%的失败几率。这太大了,不能接受。

22.对于Chen和Thapar方法,假设有5个轨道需要8个I-帧,35个轨道需要5个I-帧, 45个轨道需要3个I-帧,15个帧从1到2个I帧中选择,如果我们想保证95帧能被缓冲器容纳,那么缓冲器的大小应该是多少?

答:缓冲器应该足够大以容纳5帧,因为只有5%的轨道具有超过5I个帧。

23.对于Chen和Thapar方法,假定有一个用PAL制格式编码的3小时电影,需要在每个15分钟内流出。那么需要多少个并发流?

答:不管格式如何,并发流的数量为3×60/15 = 12。

24.图7-18的最终结果是播放点不再处于缓冲区的中间。设计一个方案,最少在播放点之后有5分钟并且在播放点之前有5分钟。你可以做出任何合理的假设,但是陈述要清楚。

答:要在缓冲区中间获得播放点,需要能够一次读取和存储三个流。当电影12分钟恢复时,我们开始存储目前为15分钟和20分钟的流。3分钟后,我们已经储存了15-18分钟和20-23分钟。在这个时间点上,我们删除专用流,并从缓冲区开始显示。再经过2分钟后,我们存储了15-25分钟,播放点在17分钟。在这个时间点上,我们只需要从25分钟的流中加载缓冲区。3分钟后,我们在缓冲区中存储了15-28分钟,播放点为20分钟。此时,我们已经实现了目标。因为我们与最近的视频点播流不同步,这是我们能做的最好的了。

25.图7-19的设计要求所有语言轨迹在每一帧上读出。假设视频服务器的设计者必须支持大量的语言, 但是不想将这么多的RAM投入给缓冲区以保存每一帧。其他可利用的选择是什么?每一种选择的优点和缺点是什么?

答:一种替代方法是为每种语言提供一个单独的文件。这种方式可以最大程度地减少RAM的使用,但是浪费大量的磁盘空间。如果磁盘空间便宜,并且目标是一次支持尽可能多的流,这种方法是有吸引力的。另一个选择是分别存储每种语言的音轨,并且每帧执行额外的搜索以获取音频。这种方案有效地利用了磁盘空间,但引入了额外的搜索,从而降低了性能。

26.一台小的视频服务器具有8部电影。对于最流行的电影、第二流行的电影,直到最不流行的电影,Zipf定律预测的概率是多少?

答:归一化常数C为0.36794,故概率为0.368,0.184,0.123,0.092,0.074,0.061,0.053,0.046。

27.一块具有1000个柱面的14GB的磁盘用于保存以4 Mbps速率流动的1000个30秒的MPEG-2视频剪辑。这些视频剪辑根据管风琴算法存放。依照Zipf定律,磁盘臂花在中间10个柱面的时间比例是多少?

答:14GB的磁盘可容纳14×230或15,032,385,536字节,如果均匀分布在1000个柱面上,则每个柱面具有15,032,385字节,可以满足一个30秒的视频剪辑。因此,每个剪辑需要占用一个柱面。问题是,磁盘臂花在中间10个柱面的时间比例是多少?所以把1,1/2,... ,1/10加起来,可以得到2.92895,乘以0.134,得到0.392,所以磁盘臂花在中间10个柱面的时间比例约为40%。

28.假设对于影片A、B、C和D的相对需求由Zipf定律所描述,对于如图7-24中所示的四种划分条带的方法,四块磁盘的期望相对利用率是多少?

答:对于四部影片,由Zipf定律得到其概率为0.48、0.24、0.16和0.12。这些概率的比例也描述了图7-24(a)中的驱动器的相对利用率。对于其他三种划分条带方法,所有的驱动器被平等地使用,假设每个支付电影的人都会观看完整部电影。然而,在特定的时间这个结果可能不同。如果每个人都想在8 A.M.开始看电影。图7-24(b)的布置首先访问第一个磁盘,然后在15分钟后访问下一个磁盘,以此类推。而7-24(c)和(d)不会受此影响。

29.两个视频点播客户相隔6秒钟开始观看同一部PAL电影。如果系统加快一个数据流并且减慢另一个数据流以便使它们合并,为了在3分钟内将它们合并,需要的加速/减速百分比是多少?

答:PAL以25帧/秒的速度运行,所以两个用户相差了150帧。在3分钟内合并它们意味着将间隙缩短50帧/分钟。一个加快25帧/分钟,一个慢25帧/分钟。正常帧速率为1500帧/分钟,所以加速/减速百分比是25/1500或1/60,约为1.67%。

30.一台MPEG-2视频服务器对于NTSC视频使用图7-26的回环方法。所有的视频流出自一个转速为10 800rpm的Ultra Wide SCSI磁盘,磁盘的平均寻道时间是3ms。能够得到支持的数据流有多少?

答:对于NTSC,具有30帧/秒,一轮是33.3毫秒。磁盘旋转180次/秒,所以平均旋转延迟时间是半个旋转或2.8毫秒。MPEG-2以约500,000字节/秒或约16,667字节/帧的速度运行。在320MB/秒时,帧的传送时间约为51微秒。因此,寻道,旋转延迟和传输时间总计高达约5.8毫秒。因此,最多支持5个数据流,此时将消耗33毫秒的29毫秒。

31.重做前一个习题, 但是现在假设scan-EDF算法将平均寻道时间减少了20%。现在能够得到支持的数据流有多少?

答:平均寻道时间从3.0毫秒变为2.4毫秒,因此每个操作的时间减少到5.2毫秒。这就可以增加了一个数据流,总共六个。

32.考虑到下面一系列对磁盘的需求,每个需求由一个元组(截止时间(ms),柱面)代表。使用scan-EDF算法后,四个即将到期的需求聚集在一起得到服务。如果服务每个请求的平均时间是6ms,那么有没有错过的终止时间?(32 300);(36 500);(40 210);(34 310),假定当前时间是15ms。

答:根据请求的柱面排序(40 210),(32 300),(34 310),(36 500),每个请求的结束时间是:21毫秒,27毫秒,33毫秒,39毫秒。 因此,如果使用上述算法,系统将错过上一个最后期限。

33.再次重做前一个习题,但是现在假设每一帧在四块磁盘上分成条带,在每块磁盘上scan-EDF算法将平均寻道时间减少了20%。 现在能够得到支持的数据流有多少?

答:六个数据流。分成条带是没用的。每个磁盘操作仍然需要5.2毫秒来获取数据。传输时间是51微秒还是13微秒没有差别。

34.正文描述了使用五个数据请求为一批来调度在图7-27a中所描述的情形。如果所有请求需要等量的时间,在这个例子中每个请求可以允许的最大时间是多少?

答:对于第一批的五个请求,关键的一个是柱面676,列表中的第四个,但截止时间为t = 712毫秒。因此,每个请求必须在3毫秒或更少的时间内提供服务,以便在t = 712毫秒时完成第四个请求。

35.供生成计算机“墙纸”的许多位图图像使用很少的颜色并且十分容易压缩。一种简单的压缩方法是:选择一个不在输入文件中出现的数据值,并且将其用作一个标志。一个字节一个字节地读取文件,寻找重复的字节值。将单个值和最多重复三次的字节直接复制到输出文件。当4个或更多字节的重复串被发现时,将一个由3个字节组成的串写到输出文件,这3个字节的串包括标志字节、指示从4到255计数的字节和在输入文件中发现的实际的值。使用该算法编写一个压缩程序,以及一个能够恢复原始文件的解压缩程序。额外要求:如何处理在数据中包含标志字节的文件?

答:略。

36.计算机动画是通过显示具有微小差异的图像序列实现的。编写一个程序,计算两幅具有相同尺寸的未压缩位图图像之间的字节和字节的差。当然,输出文件应该与输入文件具有相同的大小。使用这一差值文件作为前一个习题中的压缩程序的输入,并且将这一方法的效率和压缩单个图像的情况进行比较。

答:略。

37.实现教材中的基本RMS和EDF算法。程序的主要输入是一个有若干行的文件,每行代表一个进程的CPU请求,并且有如下的参数:周期(秒)、计算时间(秒)、开始时间(秒)、结束时间(秒)。在以下方面对比两个算法:a)由于CPU的不可调度性导致平均被阻塞的CPU请求数;b)平均CPU使用率;c)每个CPU请求的平均等待时间;d)错过截止时间的请求平均数S。

答:略。

38.实现存储多媒体文件的常量时间长度和常量数据长度的技术。程序的主要输入是一系列文件,每个文件包含一个MPEG-2压缩多媒体文件(如电影)的每帧元数据。元数据包括帧类型(I/P/B)、帧长、相关联的音频帧等。对于不同文件块大小,就需要的总存储空间大小、浪费的磁盘存储空间和平均RAM需求三个方面比较两种技术。

答:略。

39.在上面的程序上添加一个“读者”程序,它随机地从上面的输入列表中选择文件,使用VCR功能的视频点播或准视频点播。实现scan-EDF算法以便能够给出磁盘读请求。就每个文件的平均找磁盘次数比较常量时间长度和常量数据长度这两个方法。

答:略。

猜你喜欢

转载自blog.csdn.net/cztqwan/article/details/72953321