摘要:微信搜索【三桥君】
关于FCFS(先来先服务)、SSTF(最短寻道时间优先)、SCAN(扫描/电梯算法)、CSCAN(循环扫描/单向电梯算法/铲雪机算法)的解法。
一、题目
设某磁盘有200个柱面,编号为0,1,2,...,199,磁头刚从140道移到144道完成了读写。若某时刻有11个磁盘请求分别对如下各道进行读写:56,143,198,49,132,64,120,135,107,111,147。试分别求FCFS,SSTF,CAN及SCAN磁盘调度算法响应请求的磁道次序及磁头移动的总距离及平均寻道长度(保留1位小数)。
二、答案
题目说了磁头移到144道完成了读写,所以接下来开始读写的数据位置为144。
(1)FCFS(先来先服务)
分析:
144,56,143,198,49,132,64,120,135,107,111,147。
解答:
被访问的下一个磁道号 | 移动距离(磁道数) |
---|---|
56 | 144-56=88 |
143 | 143-56=87 |
198 | 198-143=55 |
49 | 198-49=149 |
132 | 132-49=83 |
64 | 132-64=68 |
120 | 120-64=56 |
135 | 135-120=15 |
107 | 135-107=28 |
111 | 111-107=4 |
147 | 147-111=36 |
平均寻道长度:669/11=60.8 |
磁头移动的总距离:88+87+55+149+83+68+56+15+28+4+36=669
平均寻道长度:669/11=60.8
(2)SSTF(最短寻道时间优先)
分析:
排序:49,56,64,107,111,120,132,135,143,147,198。
最短寻道方法是数据从排序好的数据行中插入,然后与左右两侧的数值的差的绝对值进行比较,小的先访问。
解答:
被访问的下一个磁道号 | 移动距离(磁道数) |
---|---|
143 | 144-143=1 |
147 | 147-143=4 |
135 | 147-135=12 |
132 | 135-132=3 |
120 | 132-120=12 |
111 | 120-111=9 |
107 | 111-107=4 |
64 | 107-64=43 |
56 | 64-56=8 |
49 | 56-49=7 |
198 | 198-49=149 |
平均寻道长度:252/11=22.9 |
磁头移动的总距离:1+4+12+3+12+9+4+43+8+7+149=252
平均寻道长度:252/11=22.9
(3)SCAN(扫描/电梯算法)
分析:
排序:49,56,64,107,111,120,132,135,143,147,198。
因为题目说了“磁头刚从140道移到144道完成了读写”,所以磁头移动方向为从左到右。
解答:
被访问的下一个磁道号 | 移动距离(磁道数) |
---|---|
147 | 147-144=3 |
198 | 198-147=51 |
143 | 198-143=55 |
135 | 143-135=8 |
132 | 135-132=3 |
120 | 132-120=12 |
111 | 120-111=9 |
107 | 111-107=4 |
64 | 107-64=43 |
56 | 64-56=8 |
49 | 56-49=7 |
平均寻道长度:203/11=18.5 |
磁头移动的总距离:3+51+55+8+3+12+9+4+43+8+7=203
平均寻道长度:203/11=18.5
(4)CSCAN(循环扫描/单向电梯算法/铲雪机算法)
分析:
排序:49,56,64,107,111,120,132,135,143,147,198。
解答:
被访问的下一个磁道号 | 移动距离(磁道数) |
---|---|
147 | 147-144=3 |
198 | 198-147=51 |
49 | 198-49=149 |
56 | 56-49=7 |
64 | 64-56=8 |
107 | 107-64=43 |
111 | 111-107=4 |
120 | 120-111=9 |
132 | 132-120=12 |
135 | 135-132=3 |
143 | 143-135=8 |
平均寻道长度:297/11=27 |
磁头移动的总距离:3+51+149+7+8+43+4+9+12+3+8=297
平均寻道长度:297/11=27
参考文章
文章整理不易,有帮助请点赞关注支持,谢谢!微信搜索【三桥君 】,回复【关注】有我准备的一份资源大礼包。后续持续更新~~~