磁盘调度算法
学生姓名学生学号专业班级指导老师:
2013年6月20日
1
f1、实验目的:通过这次实验,加深对磁盘调度算法的理解,进一步掌握先来先
服务FCFS、最短寻道时间优先SSTF、SCAN和循环SCAN算法的实现方法。
2、问题描述:设计程序模拟先来先服务FCFS、最短寻道时间优先SSTF、SCAN
和循环SCAN算法的工作过程。假设有
个磁道号所组成的磁道访问序列,给定开始磁道号m和磁头移动的方向(正向或者反向),分别利用不同的磁盘调度算法访问磁道序列,给出每一次访问的磁头移动距离,计算每种算法的平均寻道长度。
3、需求分析通过这次实验,加深对磁盘调度算法的理解,进一步掌握先来先
服务FCFS、最短寻道时间优先SSTF、SCAN和循环SCAN算法的实现方法。
通过已知开始磁道数、访问磁道总数、磁道号访问序列、访问方向及访问方式得到访问序列及移动距离和平均移动距离!1输入的形式;
i
tTrackOrderMaxNumber被访问的磁道号序列i
tdirectio
寻道方向i
tNum访问的磁道号数目
2
fi
tstart2输出的形式;
i
tMoveDista
ceMaxNumber0移动距离doubleAverageDista
ce0平均寻道长度移动的序列!3程序所能达到的功能;模拟先来先服务FCFS、最短寻道时间优先SSTF、SCAN和循环SCAN算法的工作过程。假设有
个磁道号所组成的磁道访问序列,给定开始磁道号m和磁头移动的方向(正向或者反向),分别利用不同的磁盘调度算法访问磁道序列,给出每一次访问的磁头移动距离,计算每种算法的平均寻道长度。4测试数据,包括正确的输入及其输出结果和含有错误的输入及其输出结果。开始磁道号:100磁道号方向:内(0)和外(1)磁道号数目:9页面序列:555839189016015038184
4、概要设计说明本程序中用到的所有抽象数据类型的定义、主程序的流程以
及各程序模块之间的层次调用关系。
3
fi
tTrackOrderMaxNumber被访问的磁道号序列
i
tMoveDista
ceMaxNumber0移动距离
doubleAverageDista
ce0平均寻道长度
i
tdirectio
寻道方向
i
tNum访问的磁道号数目
i
t
start
开
始
磁
道
号
5、详细设计实现程序模块的具体算法。
4
f6、调试分析1调试过程中遇到的问题以及解决方法,设计与实现的回顾讨
论和分析;在SCAN_CSAN算法中在访问不同的数组时没有注意到上一个磁
道号和要访问的磁道号的大小比较导致结果不对,后来在分析结果中找出原因。
2算法的性能分析包括基本操作和其它算法的时间复杂度和空间复杂度的分析及其改进设想;
5
fFCFS:时间复杂度为O(1)空间复杂度为:O1SSTF:时r