磁盘调度
被考次数: 1次
被考频率: 低频率
答错率:    45%
知识难度:
考试要求: 掌握     
知识路径:  > 计算机系统基础知识  > 计算机软件基础知识  > 操作系统基础知识  > 设备管理  > 设备管理


本知识点历年真题试卷分布
>> 试题列表    
 

 
       磁盘是可被多个进程共享的设备。当有多个进程请求访问磁盘时,为了保证信息的安全,系统在每一时刻只允许一个进程启动磁盘进行I/O操作,其余的进程只能等待。因此,操作系统应采用一种适当的调度算法,使各进程对磁盘的平均访问(主要是寻道)时间最小。磁盘调度分为移臂调度和旋转调度两类,并且是先进行移臂调度,然后进行旋转调度。由于访问磁盘最耗时的是寻道时间,因此,磁盘调度的目标是使磁盘的平均寻道时间最少。
       磁盘驱动调度
       常用的磁盘调度算法如下:
       (1)先来先服务(First-Come First-Served,FCFS)。这是最简单的磁盘调度算法,它根据进程请求访问磁盘的先后次序进行调度。此算法的优点是公平、简单,且每个进程的请求都能依次得到处理,不会出现某进程的请求长期得不到满足的情况。但此算法由于未对寻道进行优化,致使平均寻道时间可能较长。
       (2)最短寻道时间优先(Shortest Seek Time First,SSTF)。该算法选择这样的进程,其要求访问的磁道与当前磁头所在的磁道距离最近,使得每次的寻道时间最短。但这种调度算法不能保证平均寻道时间最短。
       (3)扫描算法(SCAN)。扫描算法不仅考虑到要访问的磁道与当前磁道的距离,更优先考虑的是磁头的当前移动方向。例如,当磁头正在由里向外移动时,SCAN算法所选择的下一个访问对象应是其要访问的磁道既在当前磁道之外,又是距离最近的。这样由里向外地访问,直到再无更外的磁道需要访问时才将磁臂换向,由外向里移动。这时,同样也是每次选择在当前磁道之内,且距离最近的进程来调度。这样,磁头逐步地向里移动,直到再无更里面的磁道需要访问。显然,这种方式避免了饥饿现象的出现。在这种算法中,磁头移动的规律颇似电梯的运行,故又常称为电梯调度算法。
       (4)单向扫描调度算法(CSCAN)。SCAN存在这样的问题:当磁头刚从里向外移动过某一磁道时,恰有一进程请求访问此磁道,这时该进程必须等待,待磁头从里向外,再从外向里扫描完所有要访问的磁道后才处理该进程的请求,致使该进程的请求被严重地推迟。为了减少这种延迟,算法规定磁头只做单向移动。
       旋转调度算法
       当移动臂定位后,有多个进程等待访问该柱面时,应当如何决定这些进程的访问顺序?这就是旋转调度要考虑的问题。显然,系统应该选择延迟时间最短的进程对磁盘的扇区进行访问。当有若干等待进程请求访问磁盘上的信息时,旋转调度应考虑如下情况:
       (1)进程请求访问的是同一磁道上不同编号的扇区。
       (2)进程请求访问的是不同磁道上不同编号的扇区。
       (3)进程请求访问的是不同磁道上具有相同编号的扇区。
       对于(1)和(2),旋转调度总是让首先到达读/写磁头位置下的扇区先进行传送操作;对于(3),旋转调度可以任选一个读/写磁头位置下的扇区进行传送操作。
       可以看出,当读出记录R1并处理结束后,磁头刚好转至R2记录的开始处,立即就可以读出并处理,因此处理10个记录的总时间为10×(2ms(读记录)+4ms(处理记录))=10× 6ms=60ms。
 

更多复习资料
请登录电脑版软考在线 www.rkpass.cn

京B2-20210865 | 京ICP备2020040059号-5
京公网安备 11010502032051号 | 营业执照
 Copyright ©2000-2025 All Rights Reserved
软考在线版权所有