1、*大学 计 算 机 科 学 与 技 术 学 院 课程设计报告 ( 2012 2013 学年度 秋季学期 ) 课程名称 操作系统课程设计 项目名称 模拟磁盘调度算法系统的设计 姓名 学号 专业 信息与计算科学 班级 地点 教师 2 目录目录 一、设计任务及主要技术一、设计任务及主要技术 3 二、设计方案及论证结果二、设计方案及论证结果 4 三、系统的原理框图三、系统的原理框图 5 四、设计程序四、设计程序 12 五、实验结果五、实验结果 20 六、调试分析及故障处理六、调试分析及故障处理 24 七、设计结论七、设计结论 25 八、心得体会八、心得体会 26 3 一、一、设计任务及主要技术设计任务
2、及主要技术 1整体功能概述(设计任务) :整体功能概述(设计任务) : 磁盘是外设中一个很常用的部分,所以,对磁盘数据的寻道时间的长短可以直接影响 机器的整体运行速度的快慢。 本设计为一个模拟磁盘调度算法的磁盘调度模拟系统, 能够模 拟先来先服务 (FCFS) 算法、 最短寻道时间 (SSTF) 算法、 电梯 (SCAN) 算法、 环形扫描 (C_SCAN) 算法及 N_SCAN 算法五个磁盘调度算法,输入为一组作业的磁道请求,输出为按选择的算法 执行时的磁头移动轨迹。其中,先来先服务(FCFS)算法、最短寻道时间(SSTF)算法、电 梯(SCAN)算法为基本算法,环形扫描(C_SCAN)算法
3、及 N_SCAN 算法为扩展算法。 2运行环境:运行环境: (1)硬件环境 Intel core i5 CPU (2)软件环境 Windows 7 Microsoft Visual C+ 6.0 3主要技术:主要技术: (1)用 C 语言编写程序; (2)对编程软件 Microsoft Visual C+ 6.0 的了解和使用; (3)操作系统基础知识(主要是对先来先服务(FCFS)算法、最短寻道时间(SSTF)算法、 电梯(SCAN)算法的了解) ; (4)操作系统扩展知识(通过网络自学环形扫描(C_SCAN)算法及 N_SCAN 算法) 。 4 二、设计方案及论证结果二、设计方案及论证结果
4、 1设计方案:设计方案: (1)先来先服务算法(First-Come,First-Served,FCFS) 此算法为一种最简单的磁盘调度算法。 它直接根据作业请求磁盘的先后顺序对磁盘进行 寻访。此算法公平、简单,每个作业的磁盘请求都可以得到处理,不会出现某个作业的请求 长期得不到满足的情况。 但此算法未对寻道方案进行优化, 故平均周转时间及带权周转时间 都会较长。 (2)最短寻道时间优先算法(Shortest Seek Time First,SSTF) 此算法优先选择距离当前磁头位置最近的作业磁道请求。 此算法可以使得每次寻道时所 用的时间都最短,但不能保证平均周转时间及带权周转时间最短。 (
5、3)电梯算法(SCAN) 此算法同时考虑下一个作业磁道请求与当前磁头位置的距离和当前磁头移动方向。 本设 计默认磁头当前移动方向为自内向外,故 SCAN 算法先选择当前磁头之外距离其最近的磁道 进行访问,直到再无更外的磁道请求,再将磁臂换向,访问磁头内侧距离当前磁头位置最近 的作业磁道请求。此算法避免了饥饿现象的出现,每个作业的磁盘请求都可以得到处理,且 使每次寻道时间相对较短。 (4)环形扫描算法(C_SCAN) 此算法磁头移动方向一直为自内向外, 同时考虑下一个作业磁道请求与当前磁头位置的 距离最短。先选择当前磁头之外距离其最近的磁道进行访问,直到再无更外的磁道请求,再 直接将磁头移到最内
6、侧磁道(此过程快速移动,并不访问任何磁道) ,再由内向外顺次访问 距离当前磁头位置最近的作业磁道请求。 此算法每个作业的磁盘请求都可以得到处理, 且使 每次寻道时间相对较短。 由于该方法一直保持磁头移动寻访方向不变, 对两端磁道请求比较 有利。 (5)N_SCAN 算法 此算法同时考虑下一个作业磁道请求与当前磁头位置的距离和当前磁头移动方向, 但每 次磁臂调转方向时, 将同时处理在磁头向一侧移动过程当中输入的作业请求。 本设计默认磁 头当前移动方向为自内向外, 先选择当前磁头之外距离其最近的磁道进行访问, 直到再无更 外的磁道请求, 接下来一并考虑在磁头向外侧移动过程当中输入的作业请求与磁头内侧未被 处理的作业磁道请求。此算法对中间磁道请求比较有利。 2论证结果:论证结果: 本设计输入当前磁头位置及一组作业磁道请求。选择所需的算法,输出相应结果: (1)先来先服务算法(FCFS) 按输入顺序输出访问序列。 5 (2)最短寻道时间优先算法(SSTF) 依次输出距离当前磁头位置最近的磁道请求。 (3)电梯算法(SCAN) 先按照从小