磁盘调度算法 fcfssstf课程设计报告.doc

  1. 1、本文档共15页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
磁盘调度算法 fcfssstf课程设计报告

学 号: 课 程 设 计 题 目 磁盘移臂调度过程模拟设计 学 院 计算机科学与技术 专 业 计算机科学与技术 班 级 姓 名 指导教师 2011 年 01 月 18 日 课程设计任务书 学生姓名: 专业班级: 计算机 班 指导教师: 工作单位: 计算机科学与技术学院 题 目: 磁盘移臂调度过程模拟设计——先来先服务法、最短寻道时间优先算法 初始条件: 1.预备内容:阅读操作系统的文件管理章节内容,理解有关文件组织形式、存储设备的概念。 2.实践准备:掌握一种计算机高级语言的使用。 要求完成的主要任务: (包括课程设计工作量及其技术要求,以及说明书撰写等具体要求) 1.编程序模拟磁盘调度的过程,采用指定算法,模拟并输出存取臂的移动顺序,并计算存取臂移动的磁道总数。 能够处理以下的情形: ⑴ 可根据需要输入当前磁头的位置,磁头移动方向; ⑵ 能够输入柱面数,磁道访问序列等参数,并能够显示调度结果(磁盘访问请求的磁道号以及磁头移动的总磁道数)。 2.设计报告内容应说明: ⑴ 需求分析; ⑵ 功能设计(数据结构及模块说明); ⑶ 开发平台及源程序的主要部分; ⑷ 测试用例,运行结果与运行情况分析; ⑸自我评价与总结: i)你认为你完成的设计哪些地方做得比较好或比较出色; ii)什么地方做得不太好,以后如何改正; iii)从本设计得到的收获(在编写,调试,执行过程中的经验和教训); iv)完成本题是否有其他方法(如果有,简要说明该方法); 时间安排: 设计安排一周:周1、周2:完成程序分析及设计。 周2、周3:完成程序调试及测试。 周4、周5:验收、撰写课程设计报告。 (注意事项:严禁抄袭,一旦发现,一律按0分记) 指导教师签名: 年 月 日 系主任(或责任教师)签名: 年 月 日 磁盘移臂调度过程模拟设计 ——先来先服务法、最短寻道时间优先算法 1 需求分析 编程序模拟磁盘调度的过程,采用先来先服务算法和最短寻道时间优先算法,模拟并输出存取臂的移动顺序,并计算存取臂移动的磁道总数。 能够处理以下的情形: ⑴ 可根据需要输入当前磁头的位置,磁头移动方向; ⑵ 能够输入柱面数,磁道访问序列等参数,并能够显示调度结果(磁盘访问请求的磁道号以及磁头移动的总磁道数)。 2功能设计 2.1 流程图 图1 执行流程图 2.2 数据结构 1) 数组定义 本次课程设计主要用到的数据结构是数组。 int arr[MAX]; //用来存放输入的磁道访问序列. bool flag[MAX]; //在SSTF算法中,用来为序列中元素做标记,所有元素赋初值为false,当某元素被确定为与当前元素距离最短时,其值置为true. 2) 主要常量及变量说明 #define MAX 50 //设置存放输入访问序列的数组元素的最大个数为50 int count; //用来存放输入的磁道访问序列的磁道个数 int now; //用来存放磁头的起始位置 int track; //用来存放磁盘中的总磁道数,用于越界判断 int sum=0; //用来保存磁头移动的总道数 int min=track; //SSTF算法中用来存放序列中与当前研究的磁道的最短距离,初值为最大磁道数 int mark=-1; //记录序列中与当前研究磁道距离最短的磁道的数组下标 int temp=now; //用来存放当前研究的磁道,初值为now 2.3 模块说明 2.3.1 先来先服务算法 (1)算法简介 思想:按访问请求到达的先后次序服务 优点:简单,公平 缺点:效率不高,相临两次请求可能会造成最内到最外的柱面寻道,使磁头反复移动,增加了服务时间,对机械也不利 (2)算法描述 void FCFS() //按输入顺序将磁道序列输出,并计算磁头移动总道数 { sum=|a[0]-now|; 输出now; for(i=0;icount-1;i++) { 输出a[i]; sum=sum+|a[i+1]-a[i]|; } 输出a[i]; 输出sum; } 2.3.2 最短寻道时间优先算法 (1)算法简介 思想:优先选择距当

您可能关注的文档

文档评论(0)

weizhent2017 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档