FCFS先来先服务按进程请求访问磁盘的先后次序进行调度。*FCFS下磁道移道数9845183853714612285141081241106559672总道数640平均80例:假设一个请求序列:
98,183,37,122,14,124,65,67磁头当前的位置在53。特点:简单、较合理,但未对寻道进行优化。*最短寻道时间优先(SSTF)选择从当前磁头位置所需寻道时间最短的请求。*SSTF下磁道移道数651267237301423988412224124218359总道数236平均29.5例:假设一个请求序列:
98,183,37,122,14,124,65,67磁头当前的位置在53。特点:寻道性能比FCFS好,但不能保证寻道时间最短,且有可能引起某些请求的饥饿。*扫描算法(SCAN)磁头从磁盘的一端开始向另一端移动,沿途响应访问请求,直到到达了磁盘的另一端,此时磁头反向移动并继续响应服务请求。有时也称为电梯算法。*SCAN磁头向磁道号增加的方向移动下磁道移道数6512672983112224124218359371461423总道数299平均37.4例:假设一个请求序列:
98,183,37,122,14,124,65,67磁头当前的位置在53。特点:寻道性能较好,避免了饥饿,但不利于远离磁头一端的访问请求。*下磁道移道数371614236551672983112224124218359总道数208平均26磁头开始向磁道号减少的方向移动例:假设一个请求序列:
98,183,37,122,14,124,65,67磁头当前的位置在53。*循环扫描算法(CSCAN)规定磁头单向移动。例如:向磁道号增加的方向移动时响应请求。*CSCAN下磁道移道数6512672983112224124218359141693723总道数322平均40.3例:假设一个请求序列:
98,183,37,122,14,124,65,67磁头当前的位置在53。特点:消除了对两端磁道请求的不公平。*SSTF、SCAN及CSCAN存在的问题磁臂粘着在SSTF、SCAN及CSCAN几种调度算法中,可能出现磁臂停留在某处的情况,即反复请求某一磁道,从而垄断了整个磁盘设备,这种现象称为磁臂粘着。*N-STEP-SCAN调度算法将磁盘请求队列分成若干个长度为N的子队列,磁盘调度将按FCFS算法依次处理这些子队列,而每一子队列按SCAN算法处理。N=1FCFS算法N很大SCAN算法N取半长度FSCAN算法*FSCAN调度算法将磁盘请求队列分成两个子队列,一个由当前所有请求磁盘的I/O进程形成,由磁盘调度按照SCAN算法进行处理。在扫描期间,将新出现的所有请求磁盘I/O的进程放入另一个等到处理的请求队列。返回*3.设置磁盘高速缓存
(DiskCache)目前,由于磁盘的I/O速度远低内存的访问速度,而致使磁盘的I/O成为计算机系统的瓶颈。为提高磁盘的I/O速度,便采用磁盘高速缓存。磁盘高速缓存的形式数据交付方式置换算法周期性地写回磁盘*(1)磁盘高速缓存的形式磁盘高速缓存是指内存中的一部分存储空间,用来暂存从磁盘读出的一系列盘块中的信息。所以它是一组在逻辑上属于磁盘,而物理上是驻留在内存中的盘块。磁盘高速缓存的形式内存中单独的存储空间(大小固定)未利用的存储空间__缓冲池(大小不固定)*(2)数据交付方式数据交付方式是指磁盘高速缓存中的数据传送给请求者进程。系统采取两种方式,将数据交付给请求进程:数据交付:系统直接将磁盘高速缓存中的数据传送到请求者进程的内存工作区。指针交付:只将指向磁盘高速缓存中该数据的指针,交付给请求者进程。*(3)置换算法在将磁盘中的盘块读入到磁盘高速缓存中时,若因磁盘高速缓存已满,则采用常用的算法进行置换:最近最久未使用算法LRU最近未使用算法NRU最少使用算法LFU*4.提高磁