操作系统原理离线作业已完成 联系客服

发布时间 : 星期一 文章操作系统原理离线作业已完成更新完毕开始阅读70ae0da39ec3d5bbfc0a7414

(3)在末端增加一块。 (4)在开始删除一块。 (5)在中间删除一块。 (6)在末端删除一块。

答:各种策略相应的磁盘I/O操作次数如表 连续 链接 索引 a. 201 1 1 b. 101 52 1 c. 1 3 1 d. 198 1 0 e. 98 52 0 f. 0 100 0

11.02有一磁盘组共有10个盘面,每个盘面上有100个磁道,每个磁道有16个扇区。假设

分配以扇区为单位。

(1) 若使用位示图管理磁盘空间,问位示图需要占用多少空间?

(2) 若空白文件目录的每个表目占用5个字节,问什么时候空白文件目录大于位示图? 空白文件目录是管理磁盘空间的一种方法,该方法将文件存储设备上的每个连续空闲区看作一个空白文件,系统为所有空白文件单独建立一个目录,每个空白文件在这个目录中占一个表项;表项的内容至少包括第一个空白块的地址(物理块号)、空白块的数目。 (1)由题设所给条件可知,磁盘组扇区总数为16*100* 10=16000(个)

因此,使用位示图描述扇区状态需要的位数为16000(位)/8(位/字节)=2000(字节) (2)已知空白文件目录的每个表项占5个字节.而位示图需占2000字节.即2000字节 可存放的表项数为2000/5=400(个).

当空白区数目大于400时,空白文件目录大于位示图。

12.2 假设一个磁盘驱动器有5000个柱面,从0到4999,驱动器正在为柱面143的一个请求提供服务,且前面的一个服务请求是在柱面125。按FIFO顺序,即将到来的请求队列是 86,1470,913,1774,948,1509,1022,1750,130 从现在磁头位置开始,按照下面的磁盘调度算法,要满足队列中即将到来的请求要求磁头总的移动距离(按柱面数计)是多少? a. FCFS b. SSTF c. SCAN d. LOOK e. C-SCAN

a. FCFS的调度是143 , 86 , 1470 , 913 , 1774 , 948 , 1509 , 1022 , 1750 , 130 。总寻求距离是7081 。

b. SSTF的调度是143 , 130 , 86 , 913 , 948 , 1022, 1470, 1509, 1750,

1774。总寻求距离是1745。

c. SCAN的调度是143 , 913 , 948 , 1022, 1470, 1509, 1750, 1774 , 4999 , 130 , 86 。总寻求距离是9769 。

d. LOOK的调度是143 , 913 , 948 , 1022, 1470, 1509, 1750, 1774, 130 , 86 。总寻求距离是3319 。

e. C-SCAN的调度是143 , 913 , 948 , 1022 , 1470 , 1509 , 1750 , 1774 , 4999 , 86 , 130 。总寻求距离是9985 。

f. C-LOOK的调度是143 , 913 , 948 , 1022 , 1470 , 1509 , 1750 , 1774 , 86 , 130 。总寻求距离是3363 。

12.14 MTBF(平均无故障时间)是硬盘可靠性的一个指标。虽然这个指标被称作“时间”,

但实际上MTBF通常是以设备的正常工作小时数度量的。

(1) 如果一个系统包含1000个磁盘驱动器,每个驱动器的MTBF是750000小时,下面

的描述中哪一个最符合该系统发生一次磁盘故障的时间:每1000年,每世纪,每十年,每个月,每个星期,每天,每小时,每分钟,每秒钟?

(2) 统计表明,一个20到21岁的美国公民平均死亡率为千分之一,由此推论20岁的

MTBF时间(单位由小时转换为年),对于一个20岁的人来说,MTBF给出期望的寿命是多大?

(3) 某类磁盘驱动器,生产商保证的MTBF为1百万小时 你能推算出它们的保质期是

多少年吗?

(4) 750000 / 1000=750(小时) 约等于31天,每个月发生一次磁盘故障。

(5) 1年是8760小时,8760小时 / 0.001 = 8760000小时(1000年)也就是说对于一个20

岁的人来说,MTBF给出期望的寿命是1000年,这没有任何实际意义。

(6) 从上一小题可看出,MTBF给出期望的寿命没有任何实际意义。一般来说,磁盘驱

动器设计的寿命是5年,假如真的有一个MTBF为1百万小时的磁盘,那么在其期望的寿命内是不可能有故障的。

12.01 假设计算机系统采用CSCAN(循环扫描)磁盘调度策略,使用2KB的内存空间记录

16384个磁盘块的空闲状态。

(1) 请说明在上述条件下如何进行磁盘块空闲状态管理。

(2) 设某单面磁盘旋转速度为每分钟6000转。每个磁道有100个扇区,相邻磁道间的平

均移动时间为1ms。若在某时刻,磁头位于100号磁道处,并沿着磁道号增大的方向移动(如下图所示),磁道号请求队列为50、90、30、120,对请求队列中的每个磁道需读取1个随机分布的扇区,则读完这4个扇区总共需要多少时间?要求给出计算过程。

(3)如果将磁盘替换为随机访问的Flash半导体存储器(如U盘、SSD等),是否有比CSACN更高效的磁盘调度策略?若有,给出磁盘调度策略的名称并说明理由;若无,说明理由。

(1) 用位图表示磁盘的空闲状态。每一位表示一个磁盘块的空闲状态,共需要16384/8=2048字节=2KB。系统提供的2KB内存能正好能表示16384个磁盘块。

(2)采用CSCAN调度算法,访问磁道的顺序为50、90、30、120,则磁头移动磁道长度为20+90+20+40=170,总的移动磁道时间为170×1ms=170ms。

由于转速为6000转/分,则平均旋转延迟为(60/6000)/2 s=5ms,要访问4个磁道,总的旋转延迟时间为=4×5ms=20ms。

由于转速为6000转/分,则读取一个磁道上的一个扇区的平均读取时间为(60/6000)/100 s =0.1ms,总的读取扇区的时间=4×0.1ms=0.4ms。

读取上述磁道上所有扇区所花的总时间=170ms+20ms+0.4ms=190.4 ms

(3)采用FCFS(先来先服务)调度策略更高效。因为Flash半导体存储器的物理结构不需要考虑寻道时间和旋转延迟,可直接按I/O请求的先后顺序服务。

13.3考虑单用户PC机上的下列I/O操作:

(1)图形用户界面下使用鼠标

(2)在多任务操作系统下的磁带驱动器(假设没有设备预分配) (3)包含用户文件的磁盘驱动器

(4)使用存储器映射I/O,直接和总线相连的图形卡

在操作系统中使用缓冲技术,假脱机技术,Cache技术,或者它们的组合来实现上述操作。实现时使用轮询I/O还是中断I/O?为什么?

(1) 在鼠标移动时,如果有高优先级的操作产生,为了记录鼠标活动的情况,必须使用

缓冲技术,另外,假脱机技术和Caching技术不是很必要,而应采用中断驱动I/O方式。

(2) 由于磁带驱动器和目标或源I/O设备间的吞吐量不同,必须采用缓冲技术;为了能

对储存在磁带上的数据进行快速访问,必须采用Caching技术;当有多个用户需要对磁带进行读或写的时候,假脱机技术也是必须采用的;为了取得最好的性能,应该采用中断驱动I/O方式。

(3) 为了能使数据从用户作业空间传送到磁盘或从磁盘传送到用户作业空间,必须采用

缓冲技术;同样道理,也必须采用Caching技术;由于磁盘是属于共享设备,故没必要采用假脱机技术;最好采用中断驱动I/O方式。

(4) 为了便于多幅图形的存取及提高性能,缓冲技术是可以采用的,特别是在显示当前

一幅图形时又要取得下一幅图形时,应采用双缓冲技术;基于存储器映射及直接和

总线相连的图形卡是快速和共享设备,所以没必要采用假脱机技术和Caching技术;轮询I/O和中断I/O只对输入和I/O是否完成的检测有用,而对于采用存储器映射的设备不必用到上述两种I/O方式。

13.01驱动程序是什么?为什么要有设备驱动程序?用户进程怎样使用驱动程序?

(1) 用户进程与设备控制器之间的通信程序称为设备驱动程序。

(2) 设备驱动程序是控制设备动作的核心模块,如设备的打开、关闭、读、写等,用来

控制设备上数据的传输。它直接与硬件密切相关,处理用户进程发出的I/O请求。

用户进程使用设备驱动程序时,设备驱动程序的处理过程为:将用户进程抽象的I/O要求转换为具体的要求,检查I/O请求的合法性,读出和检查设备的状态,传送必要的参数,设置设备工作方式,启动I/O设备。