下载此文档

操作系统实验第五讲磁盘调度算法.doc


文档分类:IT计算机 | 页数:约35页 举报非法文档有奖
1/35
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/35 下载此文档
文档列表 文档介绍
操作系统实验报告课程名称操作系统实验实验项目名称磁盘调度算法学号班级姓名专业计算机科学与技术学生所在学院计算机科学与技术学院指导教师初妍实验室名称地点21#428哈尔滨工程大学计算机科学与技术学院第六讲磁盘调度算法一、(1)通过学****EOS实现磁盘调度算法的机制,掌握磁盘调度算法执行的条件和时机;(2)观察EOS实现的FCFS、SSTF和SCAN磁盘调度算法,了解常用的磁盘调度算法;(3)编写CSCAN和N-Step-SCAN磁盘调度算法,加深对各种扫描算法的理解。+(1)验证先来先服务(FCFS)磁盘调度算法;(2)验证最短寻道时间优先(SSTF)磁盘调度算法;(3)验证SSTF算法造成的线程“饥饿”现象;(4)验证扫描(SCAN)磁盘调度算法;(5)改写SCAN算法。二、实验环境在OSLab实验环境的基础上,利用EOS操作系统,由汇编语言及C语言编写代码,对需要的项目进行生成、调试、查看和修改,并通过EOS应用程序使内核从源代码变为可以在虚拟机上使用。三、(1)改写SCAN算法在已有SCAN算法源代码的基础上进行改写,要求不再使用双重循环,而是只遍历一次请求队列中的请求,就可以选中下一个要处理的请求。算法流程图如下图所示。(CSCAN)磁盘调度算法在已经完成的SCAN算法源代码的基础上进行改写,不再使用全局变量ScanInside确定磁头移动的方向,而是规定磁头只能从外向内移动。当磁头移动到最内的被访问磁道时,磁头立即移动到最外的被访问磁道,即将最大磁道号紧接着最小磁道号构成循环,进行扫描。算法流程图如下图所示。-Step-SCAN磁盘调度算法在已经完成的SCAN算法源代码的基础上进行改写,将请求队列分成若干个长度为N的子队列,调度程序按照FCFS原则依次处理这些子队列,而每处理一个子队列时,又是按照SCAN算法。算法流程图如下图所示。-Step-SCAN算法IopDiskSchedule函数流程图算法实现(1)改写SCAN算法在一次遍历中,不再关心当前磁头移动的方向,而是同时找到两个方向上移动距离最短的线程所对应的请求,这样就不再需要遍历两次。在计算出线程要访问的磁道与当前磁头所在磁道的偏移后,可以将偏移分为三种类型:偏移为0,表示线程要访问的磁道与当前磁头所在磁道相同,此情况应该优先被调度,可立即返回该线程对应的请求的指针;偏移大于0,记录向内移动距离最短的线程对应的请求;偏移小于0,记录向外移动距离最短的线程对应的请求。循环结束后,根据当前磁头移动的方向选择同方向移动距离最短的线程,如果在同方向上没有线程,就变换方向,选择反方向移动距离最短的线程。编写循环扫描(CSCAN)磁盘调度算法由于规定了磁头只能从外向内移动,所以在每次遍历中,总是同时找到向内移动距离最短的线程和向外移动距离最长的线程。注意,与SCAN算法查找向外移动距离最短线程不同,这里查找向外移动距离最长的线程。在开始遍历前,可以将用来记录向外移动最长距离的变量赋值为0。在计算出线程要访问的磁道与当前磁头所在磁道的偏移后,同样可以将偏移分为三种类型:偏移为0,表示线程要访问的磁道与当前磁头所在磁道相同,此情况应优先被调度,可立即返回该线程对应的请求的指针;偏移大于0,记录向内移动距离最短的线程对应的请求;偏移小于0,记录向外移动距离最长的线程对应的请求。循环结束后,选择向内移动距离最短的线程,如果没有向内移动的线程,就选择向外移动距离最长的线程。(3)编写N-Step-,表示子队列的长度(即N值)。目前这个宏定义的值为6。在第367行定义了一个全局变量SubQueueRemainLength,表示第一个子队列剩余的长度,并初始化其值为SUB_QUEUE_LENGTH。在执行N-Step-SCAN算法时,要以第一个子队列剩余的长度做为计数器,确保只遍历第一个子队列剩余的项。所以,结束遍历的条件就既包括第一个子队列结束,又包括整个队列结束(如果整个队列的长度小于第一个子队列剩余的长度)。注意,不要直接使用第一个子队列剩余的长度做为计数器,可以定义一个新的局部变量来做为计数器。按照SCAN算法从第一个子队列剩余的项中选择一个合适的请求。最后,需要将第一个子队列剩余长度减少1(SubQueueRemainLength减少1),如果第一个子队列剩余长度变为0,说明第一个子队列处理完毕,需要将子队列剩余的

操作系统实验第五讲磁盘调度算法 来自淘豆网www.taodocs.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数35
  • 收藏数0 收藏
  • 顶次数0
  • 上传人cnanjringh
  • 文件大小822 KB
  • 时间2020-07-09