您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > 操作系统五六章补充题
1、某文件系统为一级目录结构,文件的数据一次性写入磁盘,已经写入的文件不能修改,但是可以多次创建新文件。请回答以下问题:1)在连续、链式、索引三种文件的数据块组织方式中,哪种更适合?请说明理由。2)为了快速找到文件,对于FCB,是集中存储好,还是与对应的文件数据块连续存储好?请说明理由。解答:1)连续更合适。因为一次性写入不存在插入问题,连续的数据块组织方式完全可以满足一次性写入磁盘。同时连续文件组织方式减少了其他不必要的空间开销,而连续的组织方式顺序查找读取文件的速度是最快的。2)为了快速找到文件,FCB是集中存储好。目录是存在磁盘上的,所以检索目录的时候需要访问磁盘,速度很慢:集中存储是将文件控制块的一部分数据分解出去,存在另一个数据结构中,而在目录中仅留下文件的基本信息和指向该数据结构的指针,这样就有效缩短了目录的容量,减少了目录在磁盘中的块数,于是检索目录时读取次哦的次数也就减少了,于是加快了目录检索的速度。2、某计算机存储器按字节编址,虚拟(逻辑)地址空间大小为16MB,主存(物理)地址空间为1MB,页面大小为4KB:Cache采用直接映射方式,共8行;主存与Cache中间交换的块大小为32B。系统运行到某一时刻时,页表的部分内容和Cache的部分内容为下图所示,图中页框号及标记字段的内容为十六进制形式。虚页号有效位页框号……0106……1104……2115……3102……40--……512B……60--……7132……页表的部分内容行号有效位标记……01020……10--……2101D……31105……41064……5114D……60--……7127A……Cache的部分内容请回答下列问题:1)虚拟地址共有几位,哪几位表示虚页号?物理地址有几位,哪几位表示页框号(物理页号)?2)使用物理地址访问Cache时,物理地址应该划分为哪几个字段?要求说明每个字段的位数及在物理地址中的位置。3)虚拟地址001C60H所在的页面是否在主存中?如在,则该虚拟地址对应得物理地址是什么?访问该地址时是否Cache命中?要说明理由。4)假定为该机配置一个4路组相联的TLB,共可以存放8个页表项,若当前内容(十六进制)如下图所示,则此时虚拟地址024BACH所在的页面是否存在主存中?请说明理由。解答:1)24位,前12位;20位,前8位2)主存字块标记(12位),Cache字块标记(3位),字块内地址(5位)物理地址20位,其中块大小为32B=25B,故块内地址为5位,Cache共8=23行,故块标记为3位,20-5-3=12,故主存字块标记为12位。3)在主存中,004C60H;不命中,因为没有04CH的标记字段001C60H中虚页号为001H=1,经过查找页表知道其有效位是1,在内存中;该页对应的页框号为04H,故物理地址为004C60H;物理地址为004C60H在直接映射方式下,对应的行号为4,有效位是1,但是标记为是064H不等于04CH,故不命中。4)在,012的那个标记是对的思路:标记11位,组地址1位,页内地址12位,前12位是000000100100,组地址为0,第0组存在标记为012的页,其页框号为1F,故024BACH所在的页面在内存中。3、假设一个文件系统使用索引结构(索引仅包含磁盘块号)组织文件内容块,每块的大小为16KB,磁盘空间为1GB。现在假设一个目录中包含3个文件,其大小分别为10KB,1089KB,129MB,请问这些文件总共在磁盘中占用了多大的空间?(不计其目录项占据的空间)解答:一个文件占用的磁盘空间是和采用的索引结构密切相关的,解决这类问题是一定要设计合适的索引结构。1GB的磁盘空间共有1GB/16KB=65536块,在此设索引块中每个索引项需要16位,因此一个索引块最多有1K个索引项,最大索引16MB。10KB大小的文件占用一个数据块,占用磁盘空间为16KB;1089KB的文件共需要一个索引块和69个数据块,占用空间为69x16+16=1120KB;129MB的文件需要1个一级索引块和9个二级索引块以及129MB/16KB=8256个数据块,共需要磁盘空间=(1+9+8256)x16=132256KB。当然,还可以采用其他方法来设计索引结构。4、旋转型存储设备上的信息优化分布能够减少若干输入/输出服务的总时间。例如,有10个记录A,B…J存放在磁盘的某一个磁道上,假定这个磁道划分成10个扇区,每个扇区存放一个记录,安排如下表所示:扇区12345678910记录号ABCDEFGHIJ现在要从该磁道中顺序将A~J这10个记录读出,如果磁盘旋转一周需要时间20ms,处理程序每读出1个记录后花4ms的时间进行处理,试问处理完这10个记录需要的总时间是多少(从找到A开始计算)?为了缩短处理时间,应进行优化分布,试问应该如何安排这10个记录?并计算优化后的总的处理时间是多少(从找到记录A开始)?解答:1)没有优化时,需要的总时间是6+9x22=204ms2)优化方案扇区12345678910记录号AHEBIFCJGD优化后需要的总时间:10x(2+4)=60ms5、为什么磁盘调度算法通常不考虑旋转延迟?解答:大多数磁盘并没有将旋转位置信息输出给主机,因此在大多数情况下操作系统在进行磁盘调度时无法得到旋转信息,也就没有办法在调度算法中考虑它的影响。即使是磁盘系统可以提供旋转位置信息,但是由于磁盘依然在旋转,因此这个信息到达主机时往往是不准确的,而且处理时间也往往是变化的,所以操作系统在进行调度时获得的旋转位置信息是不正确的。另外,磁盘请求往往是以逻辑块的形式作为参数,而逻辑块和物理块之间的映射比较复杂,若在调度中计算这种映射会大大增加系统开销。总之,无论是从可行性上还是从性能上进行考虑,调度算法都不考虑磁盘旋转的位置。6、一个软盘的扇区安排采用如下图(c)所示的形式。这个软盘的每个磁道有8个扇区,每个扇区可以存放512B数据,软盘的旋转速率为300rpm,如果旋转臂已经在合适的位置了,那么顺序读完一个磁道上的扇区需要多长时间?如果扇区安排使用图(a)和图(b)呢?解答:旋转延迟为60000÷300=200ms,假设处理数据的速度为kB/ms。则:在(a)图中读取一个磁道的时间是8x(200÷(512/k)x200ms。在(b)图中为:8x(400÷(512/k)x200ms在(c)图中为:8x(600÷(512/k)x200ms7、某个文件系统管理一个4GB多的磁盘,它可以管理一个大小为4GB的文件,也可以管理一个包含4000个10KB文件的目录树。但是在测试中,如果顺序读取4GB的大文件,只需要2min,而当遍历4000个10KB的文件时几乎需要运行1h,请分析引起这种性能差异的原因。解答:顺序读取磁盘上的一个文件,几乎没有旋转延迟和寻找时间;而读取多个文件则需要大量的寻找时间和旋转延迟(包括文件块和目录块)。8、在设备子系统中,引入缓冲可以有效改善CPU和I/O设备之间的速度不匹配的矛盾,但是也可能损失CPU与I/O设备之间的带宽,请问为什么?解答:使用缓冲的主要原因是因为主存的带宽一般都远远高于I/O设备的带宽,主存和CPU之间的带宽差小于CPU和I/O设备之间的带宽差,因此可以使用缓存来改善CPU和I/O设备之间速度不匹配的矛盾。但是这种改善是以减少I/O次数为基础的,如果缓存命中率低,那么管理缓存所带来的开销可能比缓存得到的收益还要高,此时CPU与I/O设备的带宽就受到了损失。例如:1)个人计算机上视频和音频播放器就是一个典型的例子。因为这些文件都是顺序访问的,缓存命中率永远为0,此时缓存是损害CPU和I/O设备之间带宽的主要原因。2)高速网络适配器。目前高速网络适配器的带宽都达到了Gb级别,几乎与CPU的带宽相当,是高于主存带宽的,此时不存在CPU和I/O设备之间速度不匹配的矛盾,因此内存访问成了瓶颈。为了解决视频和音频等多媒体数据的处理,现代操作系统中都提供了无缓冲(或者称“直接”)的I/O方式。9、某用户文件共有10个逻辑记录,每个逻辑记录的长度为480个字符,现在把该文件放到磁带上,若磁带的记录密度是800字符/英寸,块与块之间的间隙为0.6英寸,回答下面的问题:1)不采用记录的成组操作时磁带的空间利用率是多少?2)采用成组操作且块因子为5时磁带空间的利用率是多少?3)当按上述方式(成组)把文件存放到磁带后,用户要求每读一个记录到他的工作区,当对该记录处理完毕后再读下一个记录到工作区中,直至10个记录处理结束。系统应该如何为用户服务?解答:1)利用率为50%2)利用率为83%3)设置长度为2400字符的主存缓冲区;找到该文件的存放位置,启动磁带机读出第一块内容存入主存缓冲器;进行记录的分解,按照用户要求依次把主存缓冲区中的5个记录传送到用户工作区中;启动磁带机读第二块内容存入主存缓冲区,把6~10号记录按照用户要求依次传送到用户工作区。10、某文件共占10个磁盘块,现在要把该文件磁盘块逐个读入主存缓冲区,并送入用户区进行分析。假设一个缓冲区与一个磁盘块大小相同,把一个文件磁盘块读入缓冲区的时间是100us,将缓冲区的数据传送到用户区的时间是50us,CPU对一个数据块进行分析的时间为50us,若在单缓冲区和双缓冲区的结构下,读入并分析完成该文件的时间分别是多少?解答:
本文标题:操作系统五六章补充题
链接地址:https://www.777doc.com/doc-2381064 .html