第六章 设备管理【操作系统】

发布时间:2024年01月08日

1.DMA方式和中断控制方式的主要区别是什么?

2.面向块设备和面向流设备有何区别?各举一些例子

面向块的设备将信息保存在块中,块的大小通常是固定的,传送过程中一次传送一块。通常可以通过块号访问数据。磁盘和USB智能卡都是面向块的设备。

面向流的设备已字节流的方式输入/输出数据,没有块结构。终端打印机鼠标及其他大多数非辅存设备,都属于面向流的设备。

3. 在假设计算机系统采用循环扫描磁盘调度策略C-SCAN,使用2KB的内存空间记录16384个磁盘块的空闲状态。

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

2)设某单面磁盘的旋转速度为6000r/min,每个磁道有100个扇区,相邻磁道间的平均移动时间为1ms,若在某时刻,磁头位于100号磁道处,并沿着磁道号增大的方向移动,磁道号请求队列为50,90,30,120,对请求队列中的每个磁道需读取1个随机分布的扇区,则读完这4个扇区点共需要多长时间?(10分)

3)如果将磁盘替换为司机访问的flash存储器(如固态硬盘),是否有比循环扫描更高效的磁盘调度策略?并说明理由。(6分)

解答:

(1) 2KB=2*1024*8bit=16384bit

? 可用位示图进行磁盘空闲状态的管理,每1bit表示一个磁盘块是否空闲。

(2) 采用C-SCAN调度算法,访问磁道的顺序和移动的磁道数如下:

??? 访问磁道的顺序? 移动的磁道数

??? 120?????????? 20

??? 30??????????? 90

??? 50??????????? 20

??? 90??????????? 40

? 移动的磁道数为20+90+20+40=170,总移动磁道时间为70*1ms=170ms

? 由于转速为6000r/min,则平均旋转延迟为5ms4个的延迟时间为20ms

?每分钟6000转,转一圈的时间为0.01s,共有100个扇区,则通过一个扇区的时间为0.0001s,即0.1ms,读4个,共需0.4

?? 所以,读完这4个扇区点共需要 170ms + 20+0.4ms = 190.4ms

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

4.某软盘有40个磁道,磁头从一个磁道移至相邻磁道需要6ms,文件在磁盘上非连续存放,逻辑上相邻数据块的平均距离为13磁道,每块的旋转延迟时间及传输时间分别为100ms25ms,问读取一个100块的文件需要多少时间?若系统对磁盘进行了整理,让同一文件的磁盘块尽可能靠拢,从而使逻辑上相邻数据块的平均距离降为2磁道,此时读取一个100块的文件需要多少时间?

解答:

磁盘整理前,逻辑上相邻数据块的平均距离为13磁道,读取一块数据需要的时间为13*6+100+25=203ms

因此,读取一个100块的文件需要时间为???? 203*100=20300ms

磁盘整理后,逻辑上相邻的数据块的平均距离为2磁道,读取一块数据需要的时间为? 2*6+100+25=137ms

因此,读取一个100块的文件需要的时间为:? 137*100=13700ms

5.假定一个盘组共有100个柱面,每个柱面上有16个磁道,每个磁道分为四个扇区。

1)整个磁盘空间共有多少个存储块。

2)若用字长32位的单元来构造位示图,共需要多少个字?

3)位示图中第18个字的第16位对应的块号是多少?

解答:

1)整个磁盘空间的存储块数目为4*16*1000=6400个。

2)位示图应为6400个位,如果字长为32位的单元来构造位示图,那么需要6400/32=200个字。

3)位示图中的第18个字的第16位(即i8j=16)对应的块号为32*18-1+16=560.

文章来源:https://blog.csdn.net/m0_64986186/article/details/135441593
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。