电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

操作系统课程设计磁盘调度算法

操作系统课程设计磁盘调度算法_第1页
1/12
操作系统课程设计磁盘调度算法_第2页
2/12
操作系统课程设计磁盘调度算法_第3页
3/12
1 . 实验题目: 磁盘调度算法。 建立相应的数据结构; 在屏幕上显示磁盘请求的服务状况; 将一批磁盘请求的情况存磁盘文件,以后可以读出并重放; 计算磁头移动的总距离及平均移动距离; 支持算法:FIFO、SSTF、SCAN、CSCAN; 2 .设计目的: 调度磁盘 I/O 请求服务,采用好的方式能提高访问时间和带宽。本实验通过编程对磁盘调度算法的实现,加深对算法的理解,同时通过用 C++语言编写程序实现这些算法,并在 w indos 平台上实现,更好的掌握操作系统的原理以及实现方法,提高综合运用专业课知识的能力。 3 .任务及要求 3 .1 设计任务 编程实现下述磁盘调度算法,并求出每种算法的平均寻道长度: 1、 先来先服务算法 (FCFS) 2、 最短寻道时间算法 (SSTF) 3、 扫描算法 (SCAN) 4、 循环扫描算法 (CSCAN) 3 .2 设计要求 对用户指定的磁盘调度请求序列,基于以上四种算法,实现各自的调度顺序并输出,同时计算出各种算法下的平均寻道长度。 4 .算法及数据结构 4 .1 算法的总体思想 queue[n] 为请求调度序列,diskrode 为磁盘磁道数,headstarts 为正在调度的磁道 ①先来先服务算法 (FCFS) 按qu eu e[n]数组的顺序进行磁盘调度,将前一个调度磁道与下一个调度磁道的差值累加起来,得到总的寻道长度,再除以n 得到平均寻道长度。 ②最短寻道时间优先算法(SSTF) 将qu eu e[n]进行由小到大的排序,首先定位当前调度磁headstarts 在 qu eu e[n]的位置,通过循环语句找出离起始磁头最短的位置。 ③扫描算法(SCAN) 将qu eu e[n]进行由小到大的排序,首先定位当前调度磁headstarts 在 qu eu e[n]的位置,然后在此位置按给定的方向遍历 qu eu e[n],当道端点(qu eu e[0]或 qu eu e[n-1])时,再在定位处反向遍历到另一端。当调度磁道不在 qu eu e 端点时,总的寻道长度为为前一个磁道与后一个磁 道差值的累加,当到达端点且 qu eu e[n]未全调度时,总寻道长度加上端点值再加上下一个调度磁道的值,再按前面的算法进行,直到磁道全部都调度完毕,得到总的寻道长度,除以n 得到平均寻道长度。 ④循环扫描算法(CSCAN) 将qu eu e[n]进行由小到大的排序,首先定位当前调度磁headstarts 在 qu eu e[n]的位置,然后在此位置按给定的方向遍历 qu eu e[n],当道端点(qu eu e[0]或 qu eu e[n-1])时,反向到另一端点再以此方向进行遍历,直到qu...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

操作系统课程设计磁盘调度算法

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部