电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本
换一换
首页 金锄头文库 > 资源分类 > PPT文档下载
分享到微信 分享到微博 分享到QQ空间

磁臂调度—先来先服务算法-read

  • 资源ID:93080119       资源大小:115.50KB        全文页数:18页
  • 资源格式: PPT        下载积分:20金贝
快捷下载 游客一键下载
账号登录下载
微信登录下载
三方登录下载: 微信开放平台登录   支付宝登录   QQ登录  
二维码
微信扫一扫登录
下载资源需要20金贝
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
如填写123,账号就是123,密码也是123。
支付方式: 支付宝    微信支付   
验证码:   换一换

 
账号:
密码:
验证码:   换一换
  忘记密码?
    
1、金锄头文库是“C2C”交易模式,即卖家上传的文档直接由买家下载,本站只是中间服务平台,本站所有文档下载所得的收益全部归上传人(卖家)所有,作为网络服务商,若您的权利被侵害请及时联系右侧客服;
2、如你看到网页展示的文档有jinchutou.com水印,是因预览和防盗链等技术需要对部份页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有jinchutou.com水印标识,下载后原文更清晰;
3、所有的PPT和DOC文档都被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;下载前须认真查看,确认无误后再购买;
4、文档大部份都是可以预览的,金锄头文库作为内容存储提供商,无法对各卖家所售文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;
5、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据;
6、如果您还有什么不清楚的或需要我们协助,可以点击右侧栏的客服。
下载须知 | 常见问题汇总

磁臂调度—先来先服务算法-read

磁臂调度先来先服务算法,福州大学阳光学院 03-3 林飞鹏 240390742 指导老师:吕书龙,摘要:,磁臂调度是指当同时有多个访盘要求时在等待时,对这些要求的顺序的确定安排或调整,旨在减少平均磁盘服务时间.磁臂调度由操作系统中的磁盘设备驱动完成,相应的算法称为磁臂调度算法;磁臂调度算法包括两个方面的考虑:首先要根据这些要求所访问的磁道按照某种标准对这些要求排序,旨在减少寻道时间,称为磁臂调度,仅在移动头磁盘中采用;其次对同一磁道我多个要求扇区顺序排列,旨在减少延迟时间,称为扇区排队,仅在无控制器磁道缓冲的系统中采用; 关键词: 磁臂调度 先来先服务,一.设计的背景介绍,1.1先来先服务是指是指按申请扫描的先后顺序进行扫描.是最简单的磁臂调度算法,易于编程,而且公平,但平均而言却不能提供很好的服务.存在磁头疯狂移动,平均服务时间长,磁盘吞吐量小等问题. 1.2算法介绍:根据申请扫描的时间先后依次对其进行扫描.例如一个磁盘请求队列为:98,183,37,122,124,65,67,88,99,58,69 其最后扫描的序列也是: 98,183,37,122,124,65,67,88,99,58,69;,1.3实现环境:DOS/WINDOWS平台,TC2.0/3.0/VC+ LINUX平台,VI/EMACS等编辑器,CC/GCC编译器,二设计思路和总体流程图,2.1 基本思路 从文件中读入磁盘请求队列.根据先来先服务算法知道其既为最后磁头所扫描经过的路径;所以最后的扫描序列就是磁盘请求队列.磁头移动的总路程就是:当前磁头所在的磁道号和序列中第一个磁道号差的绝对值,加上第二个和第一个差的绝对值,以此类推加到倒数第一个和倒数第二个的差的绝对值.,2.2 数据文件格式说明 文件格试如下: tracknum:9 current:90 currents:98,183,37,122,124,65,67, 88,99,58,69 其中tracknum:是代表请求访问的磁道总数. current:是代表磁头最初所在的磁道号. currents:是代表申请访问的磁道序列;,2.3 数据结构定义 磁道访问结构: typedef struct int tracknum,current;/申请访问的磁道数量,磁头最初所在的磁道号; int *currents;/一个动态的指针用来存放申请访问的磁道序列; TRACK;,2.4 总体流程图,从文件中读入的一组数据已经放在动态数数comerow中,定义最后的位移用shift表示,并赋给其初值为0,用一个FOR语句把动态数组currents中的内容按currents+i输出 ,其中i从0到num-1,当输出一个时,并把相应的磁道号付给当前的磁头所在的磁道号,并且a=abs( current-*( currents+i) shift+=a,i tracknum,Y,输出shift=多少并返回主函数,N,图一 总体流程图,(1):从文件中读入数据模块,i=0;,*(Track.currents+i)=从文件中读入数据,Itrack.tracknum,输出currents的内容并进入下一个模块,图二 从文件中读入数据模块图,分为二个模块,i+,Y,N,(2)计算位移和最后磁头移动路线的模块,i=0;,a=abs( current-*( currents+i) shift+=a current=*(currents+i),Itrack.tracknum,输出shift 就是磁头移动的总距离,并返回,图三 计算位移和最后磁头移动路线的模块图,i+,Y,N,三算法的实现: 3.1 第一个模块算法实现: if (argc!=2) printf(“errorn“); exit(0); if(file=fopen(argv1,“r“)=NULL) printf(“read file failedn“); else fscanf(file,“%9s%d“,temp,track.currents=(int*)malloc(sizeof(int) *track.tracknum); for(i=0;itrack.tracknum;i+) fscanf(file,“%d“,track.currents+i); printf(“the original track is:n“); for(i=0;itrack.tracknum;i+) printf(“ %d“,*(track.currents+i); ,3.2 第二个模块算法实现: for(i=0;itrack.tracknum;i+) a=abs(track.current-*(track.currents+i); track.current=*(track.currents+i); shift+=a; printf(“n“); printf(“use the fcfs method the shift is:n“); printf(“shift=“); printf(“%d“,shift);,3.3 编译及使用说明 用户首先在文件track中在相相应的位置输入 相应的参数其中: tracknum:在此位置输入请求访盘的磁道总数 current: 在此位置输入当前磁头所在的磁道号; trackserial: 在此位置输入申请访盘的磁道序列; 在以上相应位置输入相应的参数后度保存; 在DOS/WINDOWS平台,TC2.0/3.0/VC+环境下编译 fcfs()函数,运行生成可执行文件main.exe;,把可执行文件fcfs.exe 和文本文件 track.txt放在同一目录下;在DOS下联接以上两 个文件运行在DOS界面就可以完成磁臂调度先来 先服务算法了。,四结论 本程序可以实现动态申请访盘序列的先来 先服务算法;,五.参考资料 c语言程序设计 第2版 作者:谭浩强 清华大学出版社 操作系统教程 作者:孟静 高等教育出版社,

注意事项

本文(磁臂调度—先来先服务算法-read)为本站会员(suns****4568)主动上传,金锄头文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即阅读金锄头文库的“版权提示”【网址:https://www.jinchutou.com/h-59.html】,按提示上传提交保证函及证明材料,经审查核实后我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.