【操作系统】设某磁盘有200个柱面,编号为0,1,2,...,199,磁头刚从140道移到144道完成了读写。若某时刻有11个磁盘请求分别对如下各道进行读写:56,143,198,49,132,64,

摘要:微信搜索【三桥君

关于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。

解答:

被访问的下一个磁道号移动距离(磁道数)
56144-56=88
143143-56=87
198198-143=55
49198-49=149
132132-49=83
64132-64=68
120120-64=56
135135-120=15
107135-107=28
111111-107=4
147147-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。

最短寻道方法是数据从排序好的数据行中插入,然后与左右两侧的数值的差的绝对值进行比较,小的先访问。

解答:

被访问的下一个磁道号移动距离(磁道数)
143144-143=1
147147-143=4
135147-135=12
132135-132=3
120132-120=12
111120-111=9
107111-107=4
64107-64=43
5664-56=8
4956-49=7
198198-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道完成了读写”,所以磁头移动方向为从左到右。

解答:

被访问的下一个磁道号移动距离(磁道数)
147147-144=3
198198-147=51
143198-143=55
135143-135=8
132135-132=3
120132-120=12
111120-111=9
107111-107=4
64107-64=43
5664-56=8
4956-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。

 

解答:

被访问的下一个磁道号移动距离(磁道数)
147147-144=3
198198-147=51
49198-49=149
5656-49=7
6464-56=8
107107-64=43
111111-107=4
120120-111=9
132132-120=12
135135-132=3
143143-135=8
平均寻道长度:297/11=27

磁头移动的总距离:3+51+149+7+8+43+4+9+12+3+8=297

平均寻道长度:297/11=27

 

参考文章

操作系统--课堂问答笔记25--习题答案

磁盘调度算法笔记和练习题


文章整理不易,有帮助请点赞关注支持,谢谢!微信搜索【三桥君 】,回复【关注】有我准备的一份资源大礼包。后续持续更新~~~

  • 22
    点赞
  • 128
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
好的,下面是电梯调度算法的介绍: 电梯调度算法是一种基于电梯运动原理的磁盘调度算法。它的基本思想是,磁盘的移臂类似于电梯的上下运动,在同一方向上尽可能多地服务请求,直到该方向没有请求为止,再改变运动方向,继续服务请求。因此,它也被称为 SCAN(扫描)算法。 具体实现时,我们可以将磁盘柱面看作电梯的楼层,将磁头的移动看作电梯的上下运动。假设当前磁头的位置为M柱面,要访问的柱面序列为{C1, C2, ..., CN},当前磁头的移动方向为D(1代表磁头从外往内移动,-1代表磁头由内往外移动),则电梯调度算法的过程如下: 1. 将要访问的柱面序列按照与当前位置的距离从近到远排序,得到排序后的柱面序列{Ci1, Ci2, ..., CiN}。 2. 如果当前方向D为1,从排序后的柱面序列中选择第一个大于等于M的柱面Ci,并访问它,然后访问Ci1, Ci2, ..., CiN中所有大于等于Ci的柱面,最后改变运动方向,从大于Ci的柱面中选择最小的柱面Cj,并访问它,然后访问Cj-1, Cj-2, ..., C1中所有小于等于Cj的柱面。 3. 如果当前方向D为-1,从排序后的柱面序列中选择第一个小于等于M的柱面Ci,并访问它,然后访问Ci1, Ci2, ..., CiN中所有小于等于Ci的柱面,最后改变运动方向,从小于Ci的柱面中选择最大的柱面Cj,并访问它,然后访问Cj+1, Cj+2, ..., CN中所有大于等于Cj的柱面。 4. 重复步骤2和步骤3,直到所有的柱面都被访问完毕。 在电梯调度算法中,磁头的移动距离取决于访问柱面的顺序。因此,我们可以在算法执行过程中统计磁头移动的距离,作为算法效率的评价指标之一。 根据上述算法,你可以编写一个程序来实现电梯调度算法,并输出访问柱面的序列和磁头移动距离。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

三桥君

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值