欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

磁盘调度算法

最编程 2024-07-12 09:33:20
...

1,假设磁头当前位于第105道,正在向磁道序号增加的方向移动,现有一个磁道访问请求序列为:35,45,12,68,100,180,170,195,试用先来先服务调度算法给出响应序列并计算移道总次数。(需给出每次移动的磁道数)

解析:先来先服务(FCFS)调度算法就是说 根据进程请求访问磁盘的先后次序进行调度。此算法的有优点是公平、简单,且每个进程的请求都能依次的得到处理,不会出现某一进程的请求长期得不到满足的情况。但此算法由于未对寻道进行优化,导致平均寻道时间可能较长。故FCFS算法仅适用于请求磁盘I/O的进程数目较少的场合。
说白了就是按顺序访问就可以了
移动距离(磁道数):上一个从磁道号与下一个磁道号之间的磁道数
移道总次数:所有的移动距离(磁道数)之和
平均寻道长度:移道总次数/寻道次数

从105号磁道开始

被访问的下一个磁道号 移动距离(磁道数)
35 70
45 10
12 33
68 56
100 32
180 80
170 10
195 25
移道总次数: 316
平均寻道长度: 39.5

2,假设磁头当前位于第105道,正在向磁道序号增加的方向移动,现有一个磁道访问请求序列为:35,45,12,68,100,180,170,195,试用最短距离优先调度算法给出响应序列并计算移道总次数。

解析:最短寻道时间优先(SSTF)调度算法就是说 要求访问的磁道与当前磁头所在的磁道距离最近,使得每次寻道时间最短,但这种算法不能保证平均寻道时间最短。
说白了就是左右比,哪个最近优先访问哪个
移道总次数:所有的移动距离(磁道数)之和
平均寻道长度:移道总次数/寻道次数

比如这里是从105开始的,100和170离105最近的是100,故先访问100号磁道。
从105号磁道开始

被访问的下一个磁道号 移动距离(磁道数)
100 5
68 32
45 23
35 10
12 23
170 158
180 10
195 15
移道总次数: 276
平均寻道长度: 34.5

3,假设磁头当前位于第105道,正在向磁道序号增加的方向移动,现有一个磁道访问请求序列为:35,45,12,68,100,180,170,195,试用扫描调度算法给出响应序列并计算移道总次数。

解析:扫描(SCAN)算法就是说 每次选择访问的磁道在当前位置内为距离最近者。这里的当前位置为磁头,做为参考。这样,避免了出现"饥饿"现象。由于这种算法中磁头移动的规律颇似电梯的运行,因而又称为电梯调度算法。
说白了就是按顺序将磁道号排序,然后从磁头开始进行向增加方向访问,到头之后,再以当前位置开始向减少的方向访问
移道总次数:所有的移动距离(磁道数)之和
平均寻道长度:移道总次数/寻道次数

比如这里是从105开始的,从增加方向开始,也就是从170开始,到195为顶,再从105为当前位置向下访问,即访问100磁道号。
从105道磁头开始(向磁道号增加方向访问)

被访问的下一个磁道号 移动距离(磁道数)
170 65
180 10
195 15
100 95
68 32
45 23
35 10
12 23
移道总次数: 273
平均寻道长度: 34.125

在这里插入图片描述

4,假设磁头当前位于第105道,正在向磁道序号增加的方向移动,现有一个磁道访问请求序列为:35,45,12,68,100,180,170,195,试用循环扫描调度算法给出响应序列并计算移道总次数。

解析:循环扫描(CSCAN)算法就是说 规定磁头单项移动。
说白了就是按顺序将磁道号排序,然后从磁头开始进行向增加方向访问,到头之后,再从最小磁道号开始按增加方向访问
移道总次数:所有的移动距离(磁道数)之和
平均寻道长度:移道总次数/寻道次数

比如这里是从105开始的,从增加方向开始,也就是从170开始,到195为顶,再从12最小的磁道号开始向增加方向访问。
从105道磁头开始(向磁道号增加方向访问)

被访问的下一个磁道号 移动距离(磁道数)
170 65
180 10
195 15
12 183
35 23
45 10
68 23
100 32
移道总次数: 361
平均寻道长度: 45.125

在这里插入图片描述