专业课程设计磁盘调度算法及代码的实现.doc
《专业课程设计磁盘调度算法及代码的实现.doc》由会员分享,可在线阅读,更多相关《专业课程设计磁盘调度算法及代码的实现.doc(36页珍藏版)》请在咨信网上搜索。
1、专业课程设计磁盘调度算法及代码的实现 课程设计报告计算机操作系统课程设计题目: 磁盘调度算法学生姓名: 专 业: 班 级: 学 号: 指导教师: 2014年01月10日目 录1.需求分析 012. 总体设计及分类简介 011)先来先服务(FCFS)算法012)最短寻道时间优先(SSTF)算法013)扫描调度(SCAN)算法014)循环扫描(C-SCAN)算法013.课程设计目的 014.课程设计要求025.详细设计及算法流程图021)总流程图022)先来先服务(FCFS)算法流程图033)最短寻道时间优先(SSTF)算法流程图044)扫描调度(SCAN)算法流程图055)循环扫描(C-SCAN
2、)算法流程图066.课程设计具体步骤071)定义函数部分主要代码072)先来先服务(FCFS)算法部分主要代码073)最短寻道时间优先(SSTF)算法部分主要代码074)扫描调度(SCAN)算法部分主要代码095)循环扫描(C-SCAN)算法部分主要代码097.课程设计结果显示 101)先来先服务(FCFS)算法测试结果102)最短寻道时间优先(SSTF)算法测试结果113)扫描调度(SCAN)算法测试结果124)循环扫描(C-SCAN)算法测试结果138.课程设计总结 149.心得体会 1510.参考资料 15磁盘调度算法一.需求分析编译程序运用磁盘的四种调度算法实现对磁盘的调度,四种算法分
3、别为先来先服务(FCFS)算法,最短寻道时间优先(SSTF)算法,扫描调度(SCAN)算法,循环扫描(C-SCAN)算法。二总体设计及分类简介磁盘调度中常用的有四种算法,功能分别如下:1.先来先服务(FCFS)算法。即先来的请求先被响应。FCFS策略看起来似乎是相当公平的,但是当请求的频率过高的时候FCFS策略的响应时间就会大大延长。FCFS策略为我们建立起一个随机访问机制的模型,但是假如用这个策略反复响应从里到外的请求,那么将会消耗大量的时间。为了尽量降低寻道时间,看来我们需要对等待着的请求进行适当的排序,而不是简单的使用FCFS策略。这个过程就叫做磁盘调度管理。有时候FCFS也被看作是最简
4、单的磁盘调度算法。2. 最短寻道时间优先(SSTF)算法。要求访问的磁道,与当前磁头所在的磁道距离最近,以使每次的寻道时间最短。 3.扫描调度(SCAN)算法。该算法不仅考虑到欲访问的磁道与当前磁道间的距离,更优先考虑的是磁头当前的移动方向。例如,当磁头正在自里向外移动时,SCAN算法所考虑的下一个访问对象,应是其欲访问的磁道,既在当前磁道之外,又是距离最近的。这样自里向外的访问,直至再无更外的磁道需要访问时,才将磁道换向自外向里移动。这时,同样也是每次选择这样的进程来调度,也就是要访问的当前位置内距离最近者,这样,磁头又逐步地从外向里移动,直至再无更里面的磁道要访问,从而避免了出现“饥饿”现
5、像。 4.循环扫描(C-SCAN)算法。当磁头刚从里向外移动而越过了某一磁道时,恰好又有一进程请求访问此磁道,这时,该里程就必须等待,为了减少这种延迟,CSCAN算法规定磁头单向移动,而本实验过程中我们所设计的是磁头从里向外移动,而从外向里移动时只须改方向而已,本实验未实现。但本实验已完全能演示循环扫描的全过程。三课程设计目的1.熟悉并掌握磁盘管理系统的设计方法,加深对所学各种磁盘调度算法及其算法的特点的了解。2.掌握磁盘调度的基本概念,比较各种磁盘调度算法的优劣四.课程设计要求从课程设计的目的出发,通过设计工作的各个环节,达到以下设计要求:1.对系统进行功能模块分析、控制模块分析正确;2.系
6、统设计要实用;3.编程简练,可用,功能全面,具有较好的健壮性;4.说明书、流程图要清楚。五. 详细设计及算法流程图1. 总流程图输入磁道的个数输入所需功能的前置编号开始输入数字为14?输入当前磁道号退出数字为0?输入错误结果显示结束2. 先来先服务(FCFS)算法流程图开始sum=0,j,i,first=0,nowi=0;in;i+确定磁头所在位置计算sum i=0,j=1;jn;i+,j+first+=abs(aj-ai)sum+=first+abs(now-a0)移动的总磁道数结束3. 最短寻道时间优先(SSTF)算法流程图开始for(i=0;in;i+)coutai”;sum=an-1-
7、now;i=0;in;i+j=i+1;j=0;i-)coutaiajif(an-1=now)while(ak=0)&(rn)移动的总道数结束4. 扫描调度(SCAN)算法流程图for(j=i+1;jn;j+)按递增顺序排好的磁道for(i=0;in;i+)int a,int n开始for( i=0;in;i+)if(an-1=now)Int d; while(aknow)循环确定磁头访问的方向移动的总道数结束循环循环5. 循环扫描(C-SCAN)算法流程图int a,int nfor(i=0;in;i+)循环for(i=0;in;i+)循环按递增顺序排好的磁道for(i=0;in;i+)循环开
8、始if(an-1=now)磁头位置在两侧磁道之间确定磁头访问的方向移动的总道数结束六课程设计具体步骤1.定义函数部分主要代码#include#includeusing namespace std;void FCFS(int a,int n);void SSTF(int a,int n);void SCAN(int a,int n);void CSCAN(int a,int n);2. 先来先服务(FCFS)算法部分主要代码void FCFS(int a,int n)int sum=0,j,i,first=0,now;coutnow;/确定当前磁头所在位置cout磁盘调度顺序为:endl;for
9、( i=0;in;i+)coutai ;for(i=0,j=1;jn;i+,j+) first+=abs(aj-ai); sum+=first+abs(now-a0);coutendl;cout移动的总磁道数为: sumendl;3. 最短寻道时间优先(SSTF)算法部分主要代码for(i=0;in;i+)for(j=i+1;jaj) temp=ai; ai=aj; aj=temp; if(an-1=0;i-) coutai ; sum=now-a0;if(l=-1)/磁头位置里侧的磁道已访问完 for(j=r;jn;j+)/访问磁头位置外侧的磁道 coutaj-1;j-) /访问磁头位置里侧
10、的磁道 coutaj ; sum+=an-1-a0; coutendl; cout移动的总道数为:sumendl;4.扫描调度(SCAN)算法部分主要代码void SCAN(int a,int n)int temp;int k=1;int now,l,r;int i,j,sum=0;for(i=0;in;i+)if(an-1=0;i-) coutai ; sum=now-a0; 5. 循环扫描(C-SCAN)算法部分主要代码void CSCAN(int a,int n)int temp;int now,l,r;int i,j,sum=0;int k=1;for(i=0;in;i+)if(an-
11、1=now)/磁头位置大于最外围欲访问磁道 for(i=0;in;i+) coutai ; sum=now-2*a0+an-1;七课程设计结果显示1.先来先服务(FCFS)算法测试结果2. 最短寻道时间优先(SSTF)算法测试结果3.扫描调度(SCAN)算法测试结果4.循环扫描(C-SCAN)算法测试结果八课程设计总结计算机磁盘是一种很重要也很常用的外部设备,其分配也有一定的分配策略。在操作系统中,作业对磁盘的请求常常要排队,由此需要一些高效率的磁盘分配策略算法。(1)先来先服务算法为一种最简单的磁盘调度算法,它直接根据作业请求磁盘的先后顺序对磁盘进行寻访,公平、简单,每个作业的磁盘请求都可以
12、得到处理,不会出现某个作业的请求长期得不到满足的情况,但未对寻道方案进行优化;(2)最短寻道时间优先算法优先选择距离当前磁头位置最近的作业磁道请求,可以使得每次寻道时所用的时间都最短,但不能保证平均周转时间及带权周转时间最短;(3)电梯算法同时考虑下一个作业磁道请求与当前磁头位置的距离和当前磁头移动方向先选择当前磁头之外距离其最近的磁道进行访问,直到再无更外的磁道请求,再将磁臂换向,访问磁头内侧距离当前磁头位置最近的作业磁道请求,避免了饥饿现象的出现,每个作业的磁盘请求都可以得到处理,且使每次寻道时间相对较短;(4)N_SCAN算法同时考虑下一个作业磁道请求与当前磁头位置的距离和当前磁头移动方
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 专业课程 设计 磁盘 调度 算法 代码 实现
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【精***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【精***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。