块1 块2 块3 1 1 4 √ 1 4 3 √ 2 4 3 √ 2 5 3 √ 2 5 1 √ 4 5 1 √ 4 2 1 √ 4 2 5 √ 缺页 √
缺页中断次数为9,缺页率为9/12=75%。
(2)采用LRU页面置换算法,其缺页情况如表所示。
LRU页面置换算法的缺页情况 页面走向 块1 块2 块3 1 1 4 1 4 √ 3 1 4 3 √ 1 2 1 2 3 √ 5 1 2 5 √ 1 4 1 4 5 √ 2 1 4 2 √ 1 4 5 1 4 5 √ 缺页 √ 缺页中断次数为8,缺页率为8/12=67%。
10.1答:假设F1是旧的文件,F2是新的文件。当一个用户通过已存在的链接访问F1,实际却是访问F2。这里使用的是对文件F1的存取保护而不是与文件F2相关的存储保护。
采用删除指向一个已删除文件的所有链接的方法避免该问题。可以通过几种方法实现: 1.设置一个记录指向一个文件的所有链接的链表,当这个文件被删除时,删掉这些链接。 2.保留这些链接,当试图访问一个已被删除的文件时,删掉这些链接。
3.设置一个文件的指针链表(或计数器),当指向该文件的所有指针被删除时才真正删除这个文件。
10.9 答:在一个单一的复制,同时更新了一个文件可能会导致用户获得不正确的信息,文件被留在了不正确的状态. 随着多份拷贝,它会浪费存储而且各种副本可能不一致。 11.6 答:令Z是开始逻辑地址(块号)。
a. 若使用连续分配策略时。用512去除逻辑地址,则X和Y分别表示得到的整数和余数。
(1)将X加上Z得到物理块号,Y为块内的位移 (2)1
b. 若使用链接分配策略。用511去除逻辑地址,则X和Y分别表示得到的整数和余数。
(1)查找链表到第X+1块,Y+1位该块内的位移量。 (2)4
c. 若使用索引分配策略。用512去除逻辑地址,则X和Y分别表示得到的整数和余数。
(1)把索引块读入内存中,则物理块地址存放在索引块在第X位置中,Y为块内的位移量。
(2)2
11.01答:各种策略相应的磁盘I/O操作次数如表 连续 链接 索引 a. 201 1 1 b. 101 52 1
11 / 13
c. 1 3 1 d. 198 1 0 e. 98 52 0 f. 0 100 0
11.02【参考答案】空白文件目录是管理磁盘空间的一种方法,该方法将文件存储设备上的每个连续空闲区看作一个空白文件,系统为所有空白文件单独建立一个目录,每个空白文件在这个目录中占一个表项;表项的内容至少包括第一个空白块的地址(物理块号)、空白块的数目。
(1)由题设所给条件可知,磁盘组扇区总数为16*100* 10=16000(个)
因此,使用位示图描述扇区状态需要的位数为16000(位)/8(位/字节)=2000(字节) (2)已知空白文件目录的每个表项占5个字节.而位示图需占2000字节.即2000字节 可存放的表项数为2000/5=400(个).
当空白区数目大于400时,空白文件目录大于位示图。
12.2【答】
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【参考答案】
(1) 750000 / 1000=750(小时) 约等于31天,每个月发生一次磁盘故障。
(2) 1年是8760小时,8760小时 / 0.001 = 8760000小时(1000年)也就是说对于一个
20岁的人来说,MTBF给出期望的寿命是1000年,这没有任何实际意义。
(3) 从上一小题可看出,MTBF给出期望的寿命没有任何实际意义。一般来说,磁盘驱
动器设计的寿命是5年,假如真的有一个MTBF为1百万小时的磁盘,那么在其期望的寿命内是不可能有故障的。
12.01
【参考答案】
(1) 用位图表示磁盘的空闲状态。每一位表示一个磁盘块的空闲状态,共需要
12 / 13
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【参考答案】
(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请求。
(3) 用户进程使用设备驱动程序时,设备驱动程序的处理过程为:将用户进程抽象的I/O
要求转换为具体的要求,检查I/O请求的合法性,读出和检查设备的状态,传送必
要的参数,设置设备工作方式,启动I/O设备。
13 / 13