操作系统设备管理相关问题
1、I/O的控制方式有哪些?你是如何理解DMA控制方式的?
- 程序控制I/O(轮询或忙等待模式)
CPU直接与I/O设备进行通信,负责将用户数据传送到I/O端口
用户程序通过系统调用来使用I/O设备
CPU需要不断查询I/O设备的端口状态,性能较低 - 中断控制I/O
CPU设定I/O设备的初始值,然后不再忙等待,运行其他进程,当前进程阻塞
I/O设备完成对当前数据的处理后,向CPU发出中断,I/O中断处理程序将负责传送剩余数据
中断控制模式依然造成CPU时间的浪费,而且效率不高 - DMA控制I/O
使用独立的DMA控制器代替CPU的工作,I/O设备与DMA通信,DMA在传输完成一个数据缓冲区之后再向CPU发中断
DMA模式减少了中断次数,同时又集成了程序控制和中断控制的优点 - I/O通道机制
DMA机制过于简单,有时未必能够提高与CPU并行效率
为此专门增加了I/O处理机,专门负责I/O设备的控制和操作,与CPU并行工作
2、你是如何理解SPOOLing技术的?SPOOLing技术是如何实现的?
SPOOLing技术,即同时联机外围操作技术,又称假脱机技术,是指在多道程序环境下,利用多道程序中的一道或两道程序来模拟脱机输入输出中的外围控制机的功能,以达到“脱机”输入输出的目的,即在联机的条件下,将数据从输入设备传送到磁盘,或从磁盘传送到输出设备。通过它可以将一台独占的物理设备虚拟为多台逻辑设备,从而使该物理设备可被多个进程共享。
3、缓冲区的作用是什么?在系统中有哪些缓冲方案可以使用。
- 减少了I/O设备对处理器的中断请求次数
- 缓和CPU与I/O设备间速度不匹配的矛盾
- 提高CPU和I/O设备之间的并行性
常见的缓冲方案:单缓冲,双缓冲,循环缓冲,缓冲池
4、移动头磁盘的访问时间有哪几部分组成?
5、磁盘调度的目的是什么?有哪些常见的磁盘调度算法?请给出两种磁盘调度算法的调度原则。
磁盘调度是指当有多个进程访问磁盘时,系统根据某种算法决定先为那个进程服务。
目标是使平均寻道时间最短
- 先来先服务调度算法(FCFS)
优先服务先来的进程 - 扫描调度算法(SSTF)
优先服务访问磁道距离当前磁道最近的进程 - 循环扫描调度算法
向磁道号增加的方向访问