电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

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

18页
  • 卖家[上传人]:suns****4568
  • 文档编号:93080119
  • 上传时间:2019-07-16
  • 文档格式:PPT
  • 文档大小:115.50KB
  • / 18 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、磁臂调度先来先服务算法,福州大学阳光学院 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

      2、,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;/一个动态的指针用来存放申请访问的

      3、磁道序列; 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 就是磁头移动的总距离,并返回,图三 计算位移和最后磁头移动路线的模块图

      4、,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分享,可在线阅读,更多相关《磁臂调度—先来先服务算法-read》请在金锄头文库上搜索。

      点击阅读更多内容
    最新标签
    发车时刻表 长途客运 入党志愿书填写模板精品 庆祝建党101周年多体裁诗歌朗诵素材汇编10篇唯一微庆祝 智能家居系统本科论文 心得感悟 雁楠中学 20230513224122 2022 公安主题党日 部编版四年级第三单元综合性学习课件 机关事务中心2022年全面依法治区工作总结及来年工作安排 入党积极分子自我推荐 世界水日ppt 关于构建更高水平的全民健身公共服务体系的意见 空气单元分析 哈里德课件 2022年乡村振兴驻村工作计划 空气教材分析 五年级下册科学教材分析 退役军人事务局季度工作总结 集装箱房合同 2021年财务报表 2022年继续教育公需课 2022年公需课 2022年日历每月一张 名词性从句在写作中的应用 局域网技术与局域网组建 施工网格 薪资体系 运维实施方案 硫酸安全技术 柔韧训练 既有居住建筑节能改造技术规程 建筑工地疫情防控 大型工程技术风险 磷酸二氢钾 2022年小学三年级语文下册教学总结例文 少儿美术-小花 2022年环保倡议书模板六篇 2022年监理辞职报告精选 2022年畅想未来记叙文精品 企业信息化建设与管理课程实验指导书范本 草房子读后感-第1篇 小数乘整数教学PPT课件人教版五年级数学上册 2022年教师个人工作计划范本-工作计划 国学小名士经典诵读电视大赛观后感诵读经典传承美德 医疗质量管理制度 2 2022年小学体育教师学期工作总结 2022年家长会心得体会集合15篇
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.