磁盘调度算法习题

这篇具有很好参考价值的文章主要介绍了磁盘调度算法习题。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

注意(不论被访问的下一个磁道号是几,计算移动距离都是:大数减小数

一.磁盘共有200个柱面(0-199),它刚刚从92号磁道移到98号随道完成读写,假设此时系统中等待访问磁盘盘的磁道序列为190,97,90,45,150,32,162,108,112,80,试给出采用下列磁头移动算法的顺序并计算寻道距离。

  1. FCFS算法:(2)SSTF算法:(3)SCAN算法(4)C-SCAN算法

磁盘请求以10,22,20,2,40,6,38面的次序到达盘器,寻道时每面务动需要6ms,计算以下,操作系统习题,算法,数据结构,贪心算法

解析:1.FCFS,按照给的顺序,190 97 90 45 150 32 162 108 112 80

       寻道距离:190-98=92 190-97=93 97-90=7 90-45=45 150-45=105 150-32=118 162-32=130 162-108=54 112-108=4 112-80=32(总是相邻的两个,用大的减去小的最后在相加就是寻道距离)

92+93+7+45+105+118+130+54+4+32=680(磁头共移动680个磁道)

平均寻道长度:680/10=68

       2.SSTF:(要求访问的磁道与当前的磁头所在的磁道距离最近)就是先给从小到大排好序,然后按照括号里面的内容来做

磁盘请求以10,22,20,2,40,6,38面的次序到达盘器,寻道时每面务动需要6ms,计算以下,操作系统习题,算法,数据结构,贪心算法

所以顺序应该为97 90 80 108 112 150 162 190 45 32

寻道距离计算为(98-97)+(97-90)+(90-80)+(108-80)+(112-108)+(150-112)+(162-150)+(190-162)+(190-45)+(45-32)=286

平均寻道长度:286/10=28.6

3.SCAN:只有磁头移动到最外侧磁道的时候才能往内移动,移动到最内侧,才能往才移动。

       所以顺序为108 112 150 162 190 97 90 80 45 32其实这个算法也相当于排好从小到大的顺序,然后先到最大的(即最外侧),在从98左边的较小者97回到最小的(即最内侧))。

磁盘请求以10,22,20,2,40,6,38面的次序到达盘器,寻道时每面务动需要6ms,计算以下,操作系统习题,算法,数据结构,贪心算法

寻道距离:250(和上面算法一样)

平均寻道长度:250/10=25

       4.C-SCAN:磁头自里向外移动,移动到最外侧,磁头立即返回到最内侧访问。

       所以顺序为108 112 150 162 190 32 45 80 90 97(其实这个算法也相当于排好从小到大的顺序,然后先到最大的(即最外侧),在从左边最小的32回到98)。

磁盘请求以10,22,20,2,40,6,38面的次序到达盘器,寻道时每面务动需要6ms,计算以下,操作系统习题,算法,数据结构,贪心算法

寻道距离:295(和上面算法一样)

平均寻道长度:298/10=29.5

二. 假设一个磁盘有100个柱面,编号为0~99,在完成了磁道25处的请求后,磁头当前正在磁道43处服务。磁盘请求的柱面按38、6、40、2、20、22、10的次序到达磁盘驱动器,寻道时每移动一个柱面需要10ms,计算以下算法的总寻道时间:

(1)先来先服务算法

(2)最短寻道时间优先算法

(3)电梯调度算法。

【解答】

磁盘请求的柱面为38、6、40、2、20、22、10,FCFS算法就按照请求到达地次序依次响应。

被访问的下一个磁道号

移动的磁道数

38

43 38 = 5

6

38 6 = 32

40

40 6 = 34

2

40 2 = 38

20

20 2 = 18

22

22 20 = 2

10

22 10 = 12

故先来先服务算法的总寻道时间为10 ∗ ( 5 + 32 + 34 + 38 + 18 + 2 + 12 )

=1410ms

先将磁盘请求按磁道从小到大排个序:261020223840SSTF算法是先响应离自己(磁头所在磁道)最近的磁道上的请求。
磁盘请求以10,22,20,2,40,6,38面的次序到达盘器,寻道时每面务动需要6ms,计算以下,操作系统习题,算法,数据结构,贪心算法
当前在43,最近的是40

被访问的下一个磁道号

移动的磁道数

40

43 40 = 3

38

40 38 = 2

22

38 22 = 16

20

22 20 = 2

10

20 10 = 10

6

10 6 = 4

2

6 2 = 4

故最短寻道时间优先算法的总寻道时间为10 ∗ ( 3 + 2 + 16 + 2 + 10 + 4 + 4 )=410ms

还是先将磁盘请求按磁道从小到大排个序:2、6、10、20、22、38、40,题目说了磁头是完成了磁道25处的请求后,当前正在磁道43处服务,可知磁头的移动方向是向外,循环扫描算法是先依次服务完当前方向上的再转头。

但是此时所在磁道43处以外已经没有请求了,所以掉头扫描,和SSTF算法结果一样,总寻道时间为410ms

三. 若干个等待访问磁盘者依次要访问的柱面为20,44,40,4,80,12,76,移动臂当前位于40号柱面,请按下列算法分别计算为完成上述各次访问总共花费的寻找时间。

(1)先来先服务算法;

(2)最短寻找时间优先算法。

答:

(1)40 → 20 → 44 → 40 → 4 → 80 → 12 → 76

距离:(20)(24)(4)(36)(76)(68)(64) 共移动292柱面

(2)40 → 44 → 20 → 12 → 4 → 76 → 80(先按大小排列4 12 20 40 44 76 80,发现40离40近,所以这里没写了,因为等会计算寻道距离也是0,然后下一个44离40近,在下一个44离20近,在下一个20离12近。。。。。。。)

距离:(4)(24)(8)(8)(72)(4) 共移动120柱面

四.【2018腾讯秋招题目】若磁头当前位置为100磁道,磁头由外向内移动,现有一磁盘读写请求队列(共12个):23,376,205,132,19,61,190,398,29,4,18,40。若采用先来先服务、最短寻道时间优先算法,试计算出平均寻道长度各为多少?

答:

(1)算法思想:

FCFS算法(先来先服务)的思想是根据磁盘读写请求的先后次序来访问。

SSTF算法(最短寻道时间优先)的思想是每次总是寻找离当前柱面(或磁道)最近的优先访问。

(2)平均寻道分析

采用FCFS处理次序为:100-23-376-205-132-19-61-190-398-29-4-18-40,因此磁头移动磁道总数为(100-23)+(376-23)+(376-205)+ (205-132)+(132-19)+(61-19)+(190-61)+(398-190)+(398-29)+(29-4)+(18-4)+(40-18) = 1596。总柱面数(即寻道距离)为:1596,因此平均寻道长度为1596/12=133。

采用SSTF处理次序为:100-132-190-205-61-40-29-23-19-18-4-376-398,因此磁头移动磁道总数为(132-100)+(190-132)+(205-190)+(205-61)+(61-40)+(40-29)+(29-23)+(23-19)+(19-18)+(18-4)+(376-4)+(398-376)=700。总柱面数为:700,因此平均寻道长度为700/12≈58.3。

五.假定一磁盘有200个柱面,编号为0—199,在完成了磁道125处的请求后,当前正在磁道143处为一个请求服务。若请求队列的先后顺序为86,147,91,177,94,150,102,175,130试分别采用FCFS(先来先服务)、SSTF(最短寻道时间优先)、SCAN(扫描)算法和CSCAN(循环扫描)完成上述请求,写出磁头移动的顺序,并计算存取臂移动总量(单位为磁道数)。

【解答】

采用FCFS算法调度时,磁头移动顺序为:

143→86→147→91→177→94→150→102→175→130

磁头移动总量是565(柱面)

采用SSTF算法调度时,磁头移动顺序为:

143→147→150→130→102→94→91→86→175→177

磁头移动总量是162(柱面)

采用SCAN算法调度时,磁头移动顺序为:

143→147→150→175→177→130→102→94→91→86

磁头移动总量是125(柱面)

采用CSCAN算法调度时,磁头移动顺序为:

143-147-150-175-177-86-91-94-102-130

采用FCFS算法调度时(当前143) 被访问的下一个磁道号 移动距离 (磁道数) 57 61  56  86 83  56  48  73  45。总移动量:565

采用SSTF算法调度时(当前143) 被访问的下一个磁道号 移动距离 (磁道数)

4  3  20  28 8  3  5  89  2。总移动量:162

采用SCAN算法调度时(当前143) 被访问的下一个磁道号 移动距离 (磁道数)

4  3  25  2  47  28  8  3  5。总移动量:125

采用CSCAN算法调度时(当前143) 被访问的下一个磁道号 移动距离 (磁道数)  4  3  25  2  91 5  3 8  28。总移动量:169

三、一个磁盘驱动器有150个柱面,考虑一个磁盘队列,它按照到达时间顺序分别是35,52,37,17,80,120,135,104如果读写磁头最初位于柱面90,请使用FCFS,SSTF,SCAN,CSCAN算法求总寻道长度和平均寻道长度.

答:

FCFS

磁头移动顺序:直接按题目的顺序来做

90 -> 35 -> 52 -> 37 -> 17 -> 80 -> 120 -> 135 -> 104

总寻道长度 = (90-35) + (52-35) + (52-37) + ... + (135-120) + (135-104) = 256

平均寻道长度 = 总长/移动次数

256/8 = 32

SSTF

磁盘请求以10,22,20,2,40,6,38面的次序到达盘器,寻道时每面务动需要6ms,计算以下,操作系统习题,算法,数据结构,贪心算法

磁头移动顺序: 先按从小到大排序,在每次寻找两个磁道距离最近的

90 -> 80 -> 104 -> 120 -> 135 -> 52 -> 37 -> 35 -> 17

总寻道长度:略(这里不写了,纯计算)

平均寻道长度: 略(这里不写了,纯计算)

SCAN:

磁头移动顺序: 先按从小到大排序

移动顺序分两种

1.向左移动完(向内侧)再往右边(外侧)最近优先寻道!

90-> 80 -> 52 -> 37 -> 35 -> 17 -> 104 -> 120 -> 135

//2.向右(外侧)移动完再往左边(向内侧)最近优先寻道!

90 -> 104 -> 120 -> 135 -> 80 -> 52 -> 37 -> 35 -> 17

总寻道长度:略(这里不写了,纯计算)

平均寻道长度: 略(这里不写了,纯计算)

CSCAN

磁头移动顺序: 先按从小到大排序

移动顺序分两种

1.向左移动完再往右边最远优先寻道!

90-> 80 -> 52 -> 37 -> 35 -> 17 -> 135 -> 120 ->104

2.向右移动完再往左边最远优先寻道!

90 -> 104 -> 120 -> 135 -> 17 -> 35 -> 37 -> 52 -> 80文章来源地址https://www.toymoban.com/news/detail-767992.html

到了这里,关于磁盘调度算法习题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 操作系统--磁盘调度算法(FCFSSSTFSCANCSCAN)Java实现

    一、先来先服务算法(FCFS) 根据进程请求访问磁盘的先后次序进行调度。 二、最短时间优先算法(SSTF) 选择调度处理的磁道是与当前磁头所在磁道距离最近的磁道,以使每次的寻找时间最短。 三、扫描算法(SCAN) 在磁头当前移动方向上选择与当前磁头所在磁道距离最近的请求作

    2024年02月08日
    浏览(33)
  • 磁盘调度算法之先来先服务(FCFS),最短寻找时间优先(SSTF),扫描算法(SCAN,电梯算法),LOOK调度算法

    寻找时间(寻道时间) Ts:在读/写数据前,将磁头移动到指定磁道所花的时间。 ① 启动磁头臂 是需要时间的。假设耗时为s; ② 移动磁头 也是需要时间的。假设磁头匀速移动,每跨越一个磁道耗时为m,总共需要跨越n条磁道。 则寻道时间 T s = s + m ∗ n Ts =s + m*n T s = s + m ∗

    2024年02月08日
    浏览(33)
  • 【操作系统】磁盘调度算法(FCFS、SSTF、SCAN 和 C-LOOK 调度策略)

    实验内容:硬盘调度 编写一个 C 程序模拟实现课件 Lecture25 中的硬盘磁头调度算法,包括 FCFS、SSTF、SCAN 和 C-LOOK 调度策略。 固定一个硬盘柱面数; 输入一批随机的硬盘柱面请求序列,计算各个调度策略下的磁头移动平均总距离 (假设磁头运动是理想匀速的,可以把移动距离

    2024年02月11日
    浏览(28)
  • 每天一道算法练习题--Day22&& 第一章 --算法专题 --- ----------最大公约数

    关于最大公约数有专门的研究。 而在 LeetCode 中虽然没有直接让你求解最大公约数的题目。但是却有一些间接需要你求解最大公约数的题目。 时间复杂度:最好的情况是执行一次循环体,最坏的情况是循环到 smaller 为 1,因此总的时间复杂度为 O ( N ) O(N) O ( N ) ,其中 N 为 a 和

    2024年02月03日
    浏览(43)
  • win10共享磁盘/硬盘提示“您没有权限访问,请与网络管理员联系请求访问权限”解决方案

    百度上一大堆方法很多都是没用的,没有解决到我的实际问题。 1、在“网络和共享中心”关闭“密码保护的共享” 2、在“启用和关闭windows功能”中开启SMB文件共享支持。 3、在磁盘安全选项中添加“everyone”用户(重点!) 桌面右下角打开网络和共享中心 选择“更改高级

    2023年04月10日
    浏览(33)
  • Python编程习题(40):python-列表:统计考试成绩

    将一组考试成绩通过键盘输入,计算及格率、平均分、最高分和最低分。 输入格式: 成绩在一行输入,数据间用空格分隔。 输出格式: 输出及格率、平均分、最高分、最低分,精确到小数后1位。 见样例 输入样例: 输出样例: 解答代码: 

    2024年02月11日
    浏览(41)
  • Linux任务调度、磁盘分区、挂载

    任务调度是指系统在某个时间执行的特定的命令或程序 任务调度分为两类: 1.系统工作:有些重要的工作必须周而复始的执行,比如病毒扫描 2,个别用户工作:个别用户可能希望执行某些程序,比如对mysql数据库的备份 语法: crontab [选项] -e编辑crontab定时任务 -l查询cronta

    2024年02月10日
    浏览(41)
  • Win10 下面的Mirror驱动分析

    在DWM分析的文章中(浅谈DWM原理),有提到过在Win10 下面仍旧可以使用Mirror Driver;这个功能就有一定的奇怪了,因为从前面分析我们知道,Mirror Driver的生效前提是DWM需要关闭,而在Win10 下面,DWM已经无法关闭了,那么DWM是怎么使用的呢?本文就来探讨一下这个原理 1. Change

    2024年02月09日
    浏览(27)
  • CIO40---22亿灯塔工厂建设规划之工业4.0

    1-灯塔工厂规划: 行业趋势 在人工智能、物联网和5G技术的深度渗透下,3C既能作为交互的入口又能是交互的出口,3C产业已成为场景最丰富的产业领域,柔性化生产、个性化定制才能给用户提供更好的体验。市场需求要求企业进行数字化升级,工业互联网+智能制造升级。 一

    2024年02月12日
    浏览(29)
  • 解决pip安装numpy问题:ERROR: Failed building wheel for numpy/ERROR: numpy-1.22.4+mkl-cp38-cp38-win_amd64.wh

    出现过问题 ERROR: Failed building wheel for numpy 下载了whl文件后报错ERROR: numpy-1.22.4+mkl-cp38-cp38-win_amd64.whl is not a supported wheel on this platform. 综合多篇博客的解决方法: 我根据上述步骤最终是成功了 踩过的雷 直接pip install 轮子文件(❌) 使用pip._internal命令查看支持版本(❌) 祝成功

    2024年02月16日
    浏览(32)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包