操作系统实 验 报 告课程名称操作系统实验实验项目名称磁盘调度算法学号班级姓名专业计算机科学与技术学生所在学院计算机科学与技术学院指导老师初妍实验室名称地点2 1#428哈尔滨工程大学计算机科学与技术学院第六讲 磁盘调度算法一、实验概述1、 实验名称磁盘调度算法2、 实验目得(1)通过学习 E O S 实现磁盘调度算法得机制,掌握磁盘调度算法执行得条件与时机; (2)观察 EO S 实现得 F C F S、S STF 与 S CA N 磁盘调度算法,了解常用得磁盘调度算法; (3)编写 CSCAN 与 N-Step—SC A N 磁盘调度算法,加深对各种扫描算法得理解。3、 实验类型验证性+设计性实验4、 实验内容(1)验证先来先服务(FC FS)磁盘调度算法; (2)验证最短寻道时间优先(S ST F)磁盘调度算法; (3)验证 SSTF 算法造成得线程“饥饿”现象; (4)验证扫描(SC A N)磁盘调度算法; (5)改写SCAN算法。 二、实验环境在 O S La b实验环境得基础上,利用E OS 操作系统,由汇编语言及 C 语言编写代码,对需要得项目进行生成、调试、查瞧与修改,并通过 EOS 应用程序使内核从源代码变为可以在虚拟机上使用。三、实验过程1、 设计思路与流程图(1)改写 SCA N算法在已有 SC A N 算法源代码得基础上进行改写,要求不再使用双重循环,而就是只遍历一次请求队列中得请求,就可以选中下一个要处理得请求.算法流程图如下图所示。图 3、1、1 SCAN 算法 IopD is kS c he d u le函数流程图(2)编写循环扫描(C SCAN)磁盘调度算法在已经完成得SC A N算法源代码得基础上进行改写,不再使用全局变量 Sc an I n s i d e 确定磁头移动得方向,而就是规定磁头只能从外向内移动.当磁头移动到最内得被访问磁道时,磁头立即移动到最外得被访问磁道,即将最大磁道号紧接着最小磁道号构成循环,进行扫描。算法流程图如下图所示。图 3、1、2 CS CAN算法 Iop Di skSche d ul e函数流程图(3)编写 N—S tep—SCA N磁盘调度算法在已经完成得 SCAN 算法源代码得基础上进行改写,将请求队列分成若干个长度为 N 得子队列,调度程序根据 FCFS 原则依次处理这些子队列,而每处理一个子队列时,又就是根据 SCA N算法。算法流程图如下图所示.图 3、1、3 N-Step—SCAN 算法 Io p Di s kSched ule函数流程图2. 算法实现(1)改写 S C...