# 选填题
不会导致磁臂黏着的磁盘调度算法是 <u> 先来先服务(FCFS)</u>
在系统内存中设置磁盘缓冲区的主要目的是 <u>****</u>
程序员利用系统调用打开
I/O设备时,通常使用的设备标识是 <u> 逻辑设备名 </u>SPOOLing技术中,输入井和输出井是 <u> 硬盘的一部分 </u>虚拟设备是指 <u> 把一个物理设备变换为多个对应的逻辑设备 </u>
设备分配程序为用户进程分配设备的过程通常是 <u> 先分配设备,再分配设备控制器,最后分配通道 </u>
为实现
CPU与外部设备并行工作,必须引入的基本硬件是 <u> 缓冲区 </u>以时间换空间或者以空间换时间是操作系统的基本技术,属于以空间换时间的机制是 <u>SPOOLing</u>
CPU对通道的请求形式是 <u> 通道命令 </u>用
SPOOLing系统的目的是提高 <u>I/O 设备 </u> 的使用效率系统将数据从磁盘读到内存的过程包括以下操作:
① DMA 控制器发出中断请求
② 初始化 DMA 控制器并启动磁盘
③ 从磁盘传输一块数据到内存缓冲区
④ 执行 “DMA 结束” 中断服务程序
正确的执行顺序是 <u>②→③→①→④</u>下列关于
SPOOLing技术的叙述中,错误的是( D)。
A. 需要外存的支持
B. 需要多道程序设计技术的支持
C. 可以让多个作业共享一台独占设备
D. 由用户作业控制设备与输入 / 输出之间的数据传送以下不是设备分配算法的是( B)。
A. 先来先服务
B. 短作业优先
C. 优先级高的优先
D. 以上几种都不是
# 综合题
某计算机系统中的磁盘有 300 个柱面,每个柱面有 10 个磁头,每个磁道有 200 个扇区,扇区大小为 512 B。文件系统的每个簇包含 2 个扇区。请回答下列问题:
磁盘的容量是多少?
假设磁头在 85 号柱面上,此时有 4 个磁盘访问请求,簇号分别为:100260、60005、101660 和 110560。若采用最短寻道时间优先(SSTF)调度算法,则系统访问簇的先后次序是什么?
第 100530 簇在磁盘上的物理地址是什么?将簇号转换成磁盘物理地址的过程是 I/O 系统的什么程序完成的?
300 * 10 * 200 * 512B = 3*10^5 KB
- 需要确定柱面号,每个柱面内的簇数 n = 10 * 200 / 2 = 1000
- 所以这四个磁盘的柱面号依次为 100、60、101、110
- 根据 SSTF 算法,先后次序为 100→101→101→60,对应 100260→101660→110560→60005
物理地址由柱面号、磁头号、扇区号决定
每个柱面内 1000 个簇,柱面号:100530 / 1000 = 100
每个磁道内 200 / 2 = 100 个簇,磁头号:530 / 100 = 5
第 30 个簇,对应扇区号为 60
假设计算机系统采用 CSCAN(循环扫描)磁盘调度策略,使用 2 KB 的内存空间记录 16 384 个磁盘块的空闲状态。
- 请说明在上述条件下如何进行磁盘块空闲状态的管理。
- 设某单面磁盘旋转速度为每分钟 6 000 转,每个磁道有 100 个扇区,相邻磁道间的平均移动时间为 1 ms。若在某时刻,磁头位于 100 号磁道处,并沿着磁道号增大的方向移动,磁道号请求队列为 50、90、30、120,对请求队列中的每个磁道需读取 1 个随机分布的扇区,则完成 4 个扇区的读取共需要多少时间?要求给出计算过程。
- 如果将磁盘替换为随机访问的 Flash 半导体存储器(如 U 盘、SSD 等),是否有比 CSCAN 更高效的磁盘调度策略?若有,给出磁盘调度策略的名称并说明理由;若无,说明理由。
- 2KB = 16384 bit,刚好对应了 16384 个磁盘块,所以采用位示图
- 磁道访问顺序为 100→120→30→50→90,寻道时间 = 170ms
- 旋转延迟时间 = 1/2r = 5ms,总延迟 = 4*5 = 20ms
- 扇区访问时间 = (1/100) * (1/r) = 0.1s,总访问时间 = 4*0.1 = 0.4s
- 所以共需 170 + 20 +0.4 = 190.4ms
- Flash 半导体储存器的物理结构无需考虑寻道时间和旋转延迟时间,可直接使用 FCFS 算法