|
知识路径: > 计算机系统知识 > 计算机软件知识 > 操作系统知识 > 设备管理(I/O控制、假脱机) > 设备管理 >
|
相关知识点:14个
|
|
|
|
磁盘是可供多个进程共享的设备。当多个进程都请求访问磁盘时,为了保证信息的安全,系统每一时刻只允许一个进程启动磁盘进行I/O操作,其余的进程只能等待。因此,操作系统应采用一种适当的调度算法,使各进程对磁盘的平均访问(主要是寻道)时间最小。磁盘调度分为移臂调度和旋转调度两类,首先是进行移臂调度,然后再进行旋转调度。由于访问磁盘最耗时的是寻道时间,因此磁盘调度的目标应使磁盘的平均寻道时间最少。
|
|
|
|
移臂调度有若干策略,“电梯调度”算法是简单而实用的一种算法。按照这种策略每次总是选择沿臂的移动方向最近的那个柱面;如果沿这个方向没有访问的请求时,就改变臂的移动方向,使用移动频率极小化。每当要求访问磁盘时,操作系统查看磁盘机是否空闲。如果空闲就立即移臂,然后将当前移动方向和本次停留的位置都登记下来。如果不空,就让请求者等待并把它要求访问的位置登记下来,按照既定的调度算法对全体等待者进行寻查定序,下次按照优化的次序执行。如果有多个盘驱动器的请求同时到达时,系统还必须有优先启动哪一个盘组的I/O请求决策。
|
|
|
|
当移臂定位后,有多个进程等待访问该柱面时,应如何决定这些进程的访问顺序?这就是旋转调度所要考虑的问题,显然系统应该选择延迟时间最短的进程对磁盘的扇区进行访问。当有若干等待进程请求访问磁盘上的信息时,旋转调度应考虑如下情况:
|
|
|
(1)进程请求访问的是同一磁道上的不同编号的扇区。
|
|
|
(2)进程请求访问的是不同磁道上的不同编号的扇区。
|
|
|
(3)进程请求访问的是不同磁道上具有相同编号的扇区。
|
|
|
对于(1)和(2)的情况,旋转调度总是让首先到达读写磁头位置下的扇区先进行传送操作;对于(3)的情况,旋转调度可以任选一个读写磁头位置下的扇区进行传送操作。
|
|
|