前 言
摘要:本课程设计的目的是通过设计一个磁盘调度模拟系统,从而使磁盘调度算法更加形象化,使磁盘调度的特点更简单明了,这里主要实现磁盘调度的四种算法,分别是:1、先来先服务算法(FCFS) 2、最短寻道时间优先算法(SSTF) 3、扫描算法(SCAN) 4、循环扫描算法(CSCAN)。 启动磁盘执行输入输出操作时,要把移动臂移动到指定的柱面,再等待指定扇区的旋转到磁头位置下,然后让指定的磁头进行读写,完成信息传送;因此,执行一次输入输出所花的时间有: 寻找时间——磁头在移动臂带动下移动到指定柱面所花的时间。 延迟时间——指定扇区旋转到磁头下所需的时间。 传送时间——由磁头进程读写完成信息传送的时间,寻道时间——指计算机在发出一个寻址命令,到相应目标数据被找到所需时间;其中传送信息所花的时间,是在硬件设计时固定的,而寻找时间和延迟时间是与信息在磁盘上的位置有关;然后设计出磁盘调度的设计方式,包括算法思路、步骤,以及要用到的主要数据结构、函数模块及其之间的调用关系等,并给出详细的算法设计,对编码进行了测试与分析。 最后进行个人总结与设计体会。
关键词:最短寻道时间优先算法、扫描算法、总寻道长度.
1
目 录
前 言 ...................................................... 1 2. 课程设计任务及要求 ........................................ 3
2.1 设计任务 .............................................. 3 2.2 设计要求 .............................................. 3 3. 算法及数据结构 ............................................ 3
3.1算法的总体思想(流程) ................................ 3 3.2 实现过程中用到的数据结构 .............................. 4 3.3 实现过程中用到的系统调用 .............................. 9 4. 程序设计与实现 ............................................ 9
4.1 最短寻道时间优先算法(SSTF)模块 ...................... 9
4.1.1程序流程图 ....................................... 9 4.1.2 程序说明 ....................................... 11 4.1.3 程序关键代码 ................................... 11 4.2扫描算法(SCAN)模块 ................................. 12 4.2.1 程序流程图 ......................................... 12
4.2.2 程序说明 ....................................... 14 4.2.3 程序关键代码 ................................... 14 4.3 实验结果 ............................................. 15 5. 结论 ..................................................... 24 6. 参考文献 ................................................. 24 7. 收获、体会和建议 ......................................... 25
2
2. 课程设计任务及要求
2.1 设计任务
1.熟悉并掌握磁盘调度算法管理系统的设计方法,加强对所学各种调度算
法及相应算法的特点了解。
2.掌握磁盘调度的基本概念,深刻体会各个算法的优缺点,以及算法间的相似点。
2.2 设计要求
1)定义与算法相关的数据结构,如PCB、队列等;
2)实现2种不同的调度算法(可使用伪代码或流程图进行分析); 3)算法执行结束时,应给出总的寻道长度;
4)磁道访问序列随机生成,且要满足一定的数量要求(不少于100个); 5)系统实现必须提供一定的交互性,所需测试数据应当以文件形式提供或者由用户在测试过程中给出,不可将测试数据“写死”在系统实现代码中;
6)必须给出足够的注释,注释量不得少于代码量的一半;
7)对于系统中所使用到的系统调用(API函数),必须给出函数的定义原型、使用方法,参数较为复杂的,还应该给出参数的具体描述;
3. 算法及数据结构
3.1算法的总体思想(流程)
3
操作系统课程设计-磁盘调度算法汇编



