姓名班级
课程名称
实验时间
批改意见
学号
专业
实验项目
实验三:磁盘调度算法的实现
操作系统
2011年11月06日2011年11月09日2011年12月13日2011年12月16日
课程代码实验地点软件实验室7215
成绩
教师签字:
【实验环境】Wi
dows操作系统环境下的个人微机【实验目的】
了解操作系统磁盘调度的基本概念,磁盘调度程序的功能,常用的磁盘调度算法。
【实验要求】
学生应正确地设计有关的数据结构与各个功能模块,画出程序的流程图,编写程序,程序执行结果应正确。
【实验内容】
1本实验是模拟操作系统的磁盘寻道方式,运用磁盘访问顺序的不同来设计磁盘的调度算法。
2实现的磁盘调度算法有FCFS,SSTF,SCAN,CSCAN和NStepSCAN算法。3设定开始磁道号寻道范围,依据起始扫描磁道号和最大磁道号数,随机产生要进行寻
道的磁道号序列。4选择磁盘调度算法,显示该算法的磁道访问顺序,计算出移动的磁道总数和平均寻道
总数。按算法的寻道效率进行排序,并对各算法的性能进行分析比较。
【实验原理】
1FCFS这是一种最简单的磁盘调度算法。它根据进程请求访问磁盘的先后次序进行调度。
2SSTF该算法选择这样的进程:其要求访问的磁道与当前磁头所在的磁道距离最近,以使每
次的寻道时间最短。
3SCAN该算法不仅考虑到欲访问的磁道与当前磁道间的距离,更优先考虑的是磁头当前的移
动方向。例如,当磁头正在自里向外移动时,SCAN算法所考虑的下一个访问对象,应是其欲访问的磁道既在当前磁道之外,又是距离最近的。这样自里向外地访问,直至再无更外的磁道需要访问时,才将磁臂换向为自外向里移动。
f4CSCANCSCAN算法规定磁头单向移动,例如,只是自里向外移动,当磁头移到最外的磁道
并访问后,磁头立即返回到最里的欲访问的磁道,亦即将最小磁道号紧接着最大磁道号构
成循环,进行循环扫描。
5NStepSCANN步SCAN算法是将磁盘请求队列分成若干个长度为N的子队列,磁盘调度将按FCFS
算法依次处理这些子队列。而每处理一个队列时又是按SCAN算法,对一个队列处理完后,再处理其他队列。
【实验步骤、过程】1、程序主要流程
1手动输入当前的磁道号该磁道号在0
65536以内65536是2的16次方超出范围则
需重新输入。
2手动输入要寻找磁道的范围。
3主菜单选择要进行磁道调度算法此时会随机生成一个在第二步生成磁道范围以内的
10个磁道数由SetDI方法生成再将生成的随机磁道号以数组形式作为参数被某个算法
调用。
2、程序部分代码1函数声明及数据定义
i
clude