操作系统习题(第六,七章)

第六章
一.简答题(共4题,100.0分)
1.Name one advantage of hard links over symbolic links and one advantage of symbolic links over hard links. --说出硬链接比符号链接的一个优势和一个符号链接比硬链接的优势。
正确答案:
基于索引节点的共享:对要共享的文件,引入一个索引结点,将文件中诸如文件的物理地址及其文件属性等信息,不放在文件目录表中,而是放在索引结点中,在文件目录中只设置文件名及其指向相应索引结点的指针,再在索引结点中引入一个链接计数器,用于表示链接到索引结点的用户数量,即共享文件的用户数量。访问效率高,但不能实现网络共享。
符号链接:在需共享的用户目录中创建一个link类型的文件,该文件中存放共享文件的路径名。可以实现网络环境的文件共享,但访问效率低。

2.What would happen if the bitmap or free list containing the information about free disk blocks was completely lost due to a crash? Is there any way to recover from this disaster, or is it bye-bye disk? Discuss your answer for the FAT-16 file system.
如果包含免费磁盘块信息的位图或免费列表由于崩溃而完全丢失,将会发生什么?有什么办法可以从这场灾难中恢复吗?讨论您对于 FAT-16 文件系统的回答。

正确答案:
问题并不严重,只要扫描文件已经占有的磁盘块,未被占用的就是空闲盘块。对于UNIX系统,只要扫描所有的i-node即可以恢复。

3.A UNIX file system has 8-KB blocks and 4-byte disk addresses. Assume that there are 10 direct block pointers, and a singly, doubly, and triply indirect pointer in each i-node, then(UNIX 文件系统具有 8 KB 块和 4 字节磁盘地址。假设每个 i 节点中都有 10 个直接块指针,以及一个单独、双倍和三元间接指针,然后)
(1) What is the maximum file size supported by this system? 此系统支持的最大文件大小是多少?
(2) Assuming no information other than that the file i-node is already in main memory, how many disk accesses are required to access the byte in position 13M? 假设除了文件 i-node 已在主内存中以外的任何信息,访问位置 13M 中的字节需要多少个磁盘访问?
(3) Assuming no information other than that the file i-node is already in main memory, how many disk accesses are required to access the byte in position 5T? 假设除了文件 i-node 已在主内存中以外的任何信息,则访问位置 5T 中的字节需要多少个磁盘访问?

正确答案:
(1)8K/4=2K
108K+2K8K+2K2K8K+2K2K2K*8K=64T32G16M80KB
(2)因为80K<13M<16M,故该地址落入一级间接索引中,由于i-node已在内存,因此只需要2次访问磁盘块,一次访问一级间接索引块,一次访问含有该位置数据的数据块。
(3)因为32G16M80K<5T<64T,故该地址落入三级间接索引中,由于i-node已在内存,因此只需要4次访问磁盘块。

4.How many disk operations are needed to fetch the i-node for a file with the path name /usr/ast/courses/os/handout.t? Assume that the i-node for the root directory is in memory, but nothing else along the path is in memory. Also assume that all directories fit in one disk block.需要多少磁盘操作来获取具有路径名称 /usr/ast/courses/os/handout.t 的文件的 i-node?假设根目录的 i 节点在内存中,但路径上没有其他内容在内存中。还要假设所有目录都适合一个磁盘块。
正确答案:
根目录的i-node在内存,而路径中的其它i-node不在内存。
需要下列的磁盘操作:读根目录;读/usr的 i-节点;读/usr的目录;读/usr/ast的 i-节点;读/usr/ast 的目录;读/usr/ast/courses的 i-节点;读/usr/ast/courses的目录;读/usr/ast/courses/os的 i-节点; 读/usr/ast/courses/os的目录;读/usr/ast/courses/os/handout.t的 i-节点。
总共 10次磁盘读操作。

The following disk reads are needed:
directory for /
i-node for /usr
directory for /usr
i-node for /usr/ast
directory for /usr/ast
i-node for /usr/ast/courses
directory for /usr/ast/courses
i-node for /usr/ast/courses/os
directory for /usr/ast/courses/os
i-node for /usr/ast/courses/os/handout.t
In total, 10 disk reads are required.

第七章
1.为何要引入缓冲技术?
正确答案:
引入缓冲的主要原因:缓解CPU与I/O设备间速度不匹配的矛盾,提高CPU与I/O设备之间的并行性,减少对CPU的中断频率,放宽对中断响应时间的限制。

2.SPOOLing的含义是什么?简述其工作原理。
正确答案:
SPOOLing是Simultaneous Peripheral Operation On-Line (即外部设备联机并行操作)的缩写,它是关于慢速字符设备如何与计算机主机交换信息的一种技术,通常称为“假脱机技术”。
SPOOLing技术是在通道技术和多道程序设计基础上产生的,它由主机和相应的通道共同承担作业的输入输出工作,利用磁盘作为后援存储器,实现外围设备同时联机操作。
SPOOLing系统由专门负责I/O的常驻内存的进程以及输入井、输出井组成;它将独占设备改造为共享设备,实现了虚拟设备功能。

3.计算机的设备种类繁多,请问操作系统是通过什么程序实现对具体设备的控制和通信的,这类程序应该具有什么功能?
正确答案:
操作系统通过设备驱动程序实现对具体设备的控制和通信。
设备驱动程序的功能为:
设备驱动程序的主要任务是接收上层软件发来的抽象要求(如read、write命令),再把它转换为具体要求后,发给设备控制器,启动设备去执行。此外,它也接收由设备控制器发来的信号,并将其传送给上层软件。其主要功能有:
(1)将接收到的抽象要求转换为具体要求。
(2)检查用户I/O请求的合法性,了解I/O设备的状态,传递有关参数,设置设备的工作方式。
(3)发出I/O命令,启动分配到的I/O设备,完成指定I/O操作。
(4)及时响应由控制器或通道发来的中断请求,并根据其中断类型调用相应的中断处理程序进行处理。
(5)对于设置有通道的计算机系统,驱动程序还应能够根据用户的I/O请求,自动地构成通道程序。

4.请简述通道方式与DMA方式进行I/O传输的异同点。
正确答案:
DMA方式与通道方式都可以实现外围设备与主机间的数据传输,都以内存为中心,实现设备和内存的直接数据交换。
区别:
1)DMA方式中,数据传输方向,内存始址,数据块长度都由CPU控制;通道方式中,这些由通道控制。
2)通道控制方式可以做到一个通道控制多台设备与内存进行数据交换,DMA方式时每台设备至少有一个DMA控制器。

5.请简述独占设备分配的步骤。
正确答案:
对于具有I/O通道的系统,在进程提出I/O请求后,系统的设备分配程序可按下述步骤进行设备分配:
(1)分配设备。系统根据I/O请求中的物理设备名查找系统设备表SDT,从中找出该设备的DCT。若DCT中设备的状态为“空闲”,并满足安全性要求,则将该“空闲”设备分配给请求进程,然后转分配控制器;否则将进程PCB插入设备的等待队列。
(2)分配控制器。在DCT中查找与该设备连接的COCT,检查控制器是否空闲,若是“空闲”,则将控制器分配给请求进程,然后转分配通道;否则请求进程PCB进入该控制器的等待队列。
(3)分配通道。在COCT中查找与该控制器连接的CHCT,检查通道是否空闲,若是“空闲”,则将通道分配给该请求进程,然后启动I/O设备进行数据传送;否则该进程PCB进入该通道的等待队列。

1.假定某活动头磁盘有200个磁道,编号为0~199,磁头已经完成对125号磁道的访问,并向磁道号增大方向移动,则对于下列请求序列:86、147、91、177、94、150、102、175、130。求在下列调度策略下词头的移动顺序及其移动量(以磁道数计)。(1)FCFS、(2)SSTF、(3)SCAN、(4)CSCAN

正确答案:
(1)FCFS
访问顺序:125->86->147->91->177->94->150->102->175->130
则移到磁道长度为(125-86)+(147-86)+(147-91)+(177-91)+(147-94)+(150-94)+(150-102)+(175-102)+(175-130)=547
(2) SSTF
访问顺序:125->130->147->150->175->177->102->94->91->86
则移到磁道长度为(177-125)+(177-86)=143
(3) SCAN
访问顺序:125->130->147->150->175->177->102->94->91->86
则移到磁道长度为(177-125)+(177-86)=143
(3)C SCAN
访问顺序:125->130->147->150->175->177->86->91->94->102
则移到磁道长度为(177-125)+(177-86) +(102-86)=159

2.设某单面磁盘旋转速度为每分钟6000转。每个磁道有100个扇区,相邻磁道间的平均移动时间为1ms。若在某时刻,磁头位于100号磁道处,并沿着磁道号增大的方向服务,磁道号请求队列为60、90、50、120、150,对请求队列中的每个磁道需读取1个随机分布的扇区,则在下列情况下读完这5个扇区总共需要多少时间?三种算法各有什么优缺点。要求给出计算过程和解释说明。

  1. FCFS(先来先服务);
  2. SCAN(扫描);
  3. C-SCAN(循环扫描)。

正确答案:
由于转速为6000r/m,则平均旋转延迟为601000/(60002)=5ms,总的旋转延迟时间为55ms=25ms。
由于旋转一周的时间为10ms,每个磁道有100个扇区,读取一个磁道上一个扇区的平均读取时间为10ms/100=0.1ms,总的读取扇区的时间=0.1ms
5=0.5ms。
1)FCFS:执行顺序是100->60->90->50->120->150。则移到磁道长度为40+30+40+70+30=210,总的移到磁道时间为2101ms=210ms。
故读取上述磁道上所有扇区所花的总时间=210ms+25ms+0.5ms=235.5ms
2)采用SCAN调度算法访问磁道的顺序为100->120->150->90->60->50,则移到磁道长度为50+100=150,总的移到磁道时间为150
1ms=150ms。
故读取上述磁道上所有扇区所花的总时间=150ms+25ms+0.5ms =175.5ms
3)采用C-SCAN调度算法访问磁道的顺序为100->120->150->50->60->90,则移到磁道长度为50+100+40=190,总的移到磁道时间为190*1ms=190ms。
故读取上述磁道上所有扇区所花的总时间=190ms+25ms+0.5ms =215.5ms

  • 14
    点赞
  • 55
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

金科铁码

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值