- 1、本文档共4页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
磁盘调度算法文档
磁盘调度算法文档
PAGE
磁盘调度算法文档
《操作系统原理及应用》课程设计报告
磁盘调度算法
学院(系): 计算机科学与工程学院
班 级: 37-5 学号
学生姓名:
时间: 从 2013 年 12 月16日 到 2013 年12月20日
1、课程设计的目的
本课程设计是学生学习完《操作系统原理及应用》课程后,进行的一次全面的综合训练,通过课程设计,让学生更好地掌握操作系统的原理及实现方法,加深对操作系统基础理论和重要算法的理解,加强学生的动手能力。
2、课程设计的内容及要求
编程序实现下述磁盘调度算法,并求出每种算法的平均寻道长度:
要求设计主界面以灵活选择某算法,且以下算法都要实现
1、先来先服务算法(FCFS)
2、最短寻道时间优先算法(SSTF)
3、扫描算法(SCAN)
4、循环扫描算法(CSCAN)
3、实现原理
磁盘是可供多个进程共享的设备,当有多个进程都要求访问磁盘时,应采用一种最佳调度算法,以使各进程对磁盘的平均访问时间最小。由于在访问磁盘的时间中,主要是寻道时间,因此,磁盘调度的目标是使磁盘的平均寻道时间最少。目前常用的磁盘调度算法有先来先服务、最短寻道时间优先、扫描和循环扫描等算法。
其中,平均寻道长度(L)为所有磁道所需移动距离之和除以总的所需访问的磁道数(N),即:L=(M1+M2+……+Mi+……+MN)/N
其中Mi为磁头从上一各磁道到这个磁道所需移动的距离。
4、算法
1.先来先服务算法(FCFS)
这是一种最简单的磁盘调度算法。它根据进程请求访问磁盘的先后次序进行调度。此算法只考虑访问者提出访问请求的先后次序,按照先后次序依次访问磁道号。移动距离等于上一个被访问的磁道号减去当前访问的磁道号的绝对值,平均寻道长度等于所有移动距离之和除以磁道被访问的次数。
2.短寻道时间优先算法(SSTF)
该算法选择这样的进程,其要求访问的磁道与当前磁头所在的磁道距离最近,以使每次的寻道时间最短,而不管访问者到来的先后次序。实现时可以先对磁道号进行从小到大排序保存在数组里,然后与当前磁道号比较,选择离自己最近的访问,每比较一次,当前磁道号也跟着变化,移动距离等于上一个被访问的磁道号减去当前访问的磁道号的绝对值。但当数组里的最大值小于当前磁道号时,就逆序访问,此时移动距离的和就等于当前磁道号减去数组中最小数;当数组中最小的数大于当前磁道号时,就正序访问,此时移动距离的和等于数组中最大值减当前磁道号,平均寻道长度等于所有移动距离之和除以磁道被访问的次数。
3.扫描算法(SCAN)
SCAN 算法又称电梯调度算法。该算法先考虑磁头的移动方向,再考虑距离近的访问。所以可以对即将访问的磁道号进行从小到大排序保存在数组里,然后与当前磁道号比较,当磁头移动方向向磁道号增加的方向移动时,就先依次访问比当前磁道号大的数,再逆向访问比自己小的数;当磁头移动方向是向磁道号减小的方向时就先访问比自己的小的,然后逆向访问比自己大的,移动距离等于上一个被访问的磁道号减去当前访问的磁道号的绝对值。但当数组里的最大值小于当前磁道号时,两种方向都是逆序对磁道号访问,此时移动距离的和就等于当前磁道号减去数组中最小数;当数组中最小的数大于当前磁道号时,两种方向都是正序对磁道号访问,此时移动距离的和等于数组中最大值减当前磁道号,平均寻道长度等于所有移动距离之和除以磁道被访问的次数。
4.循环扫描算法(CSCAN)
CSCAN算法是在SCAN算法的基础上规定磁头单向移动,即扫描时要么向磁道号增加的方向的访问,要么向磁道号减小的方向访问。所以可以对即将访问的磁道号进行从小到大排序保存在数组里,然后与当前磁道号比较,当磁头移动方向向磁道号增加的方向移动时,就先依次访问比当前磁道号大的数,再返回磁道最里面朝增加的方向访问比自己小的数;当磁头移动方向是向磁道号减小的方向时就先访问比自己的小的,然后返回到磁道最外层访问比自己大的,移动距离等于上一个被访问的磁道号减去当前访问的磁道号的绝对值。但当向磁道号增加的方向时,数组里的最大值小于当前磁道号或数组中最小的数大于当前磁道号时,都是正序访问;而当向磁道号减小的方向时,数组里的最大值小于当前磁道号或数组中最小的数大于当前磁道号时,都是逆序访问;此时移动距离的和等于数组中最大值减当前磁道号,平均寻道长度等于所有移动距离之和除以磁道被访问的次数。
5、程序中使用的数据结构及使用的变量说明和作用
int[] cidao = new int[1000];ET程序设计基础教程,清华大学出版社,
文档评论(0)