全球旧事资料 分类
实验六磁盘调度算法
1、实验目的通过这次实验,加深对磁盘调度算法的理解,进一步掌握先来先服务FCFS、最短寻道时间优先SSTF、SCAN和循环SCAN算法的实现方法。
2、试验内容问题描述:设计程序模拟先来先服务FCFS、最短寻道时间优先SSTF、SCAN和循环SCAN算法的工作过程。假设有
个磁道号所组成的磁道访问序列,给定开始磁道号m和磁头移动的方向(正向或者反向),分别利用不同的磁盘调度算法访问磁道序列,给出每一次访问的磁头移动距离,计算每种算法的平均寻道长度。
3、程序要求:1)利用先来先服务FCFS、最短寻道时间优先SSTF、SCAN和
循环SCAN算法模拟磁道访问过程。2)模拟四种算法的磁道访问过程,给出每个磁道访问的磁头移
动距离。3)输入:磁道个数
和磁道访问序列,开始磁道号m和磁头移
动方向(对SCAN和循环SCAN算法有效),算法选择1FCFS,2SSTF,3SCAN,4循环SCAN。
4)输出:每种算法的平均寻道长度。4、需求分析
f1输入的形式和输入值的范围算法选择要访问的磁道数磁道当前磁道号输入当前移动臂的移动的方向(第三个算法)2输出的形式每种算法的平均寻道长度3测试用例先来先服务FCFS
最短寻道时间优先
fSCAN算法
CSCAN
5、调试分析通过对这次操作系统实验,使我懂得了操作系统磁盘调度的四种算法:先来先服务算法(FCFS)、最短寻道时间优先算法(SSTF)、扫描算法(SCAN)和循环扫描算法(CSCAN)。加深了我对这门课程的理解。锻炼了自己在考虑全局也不是细节的能力。通过这次实验,再一次熟悉并深入掌握了程序设计语言和算法设计。
f6、测试结果
1使用FCFS算法输入
输出2使用SSTF算法输入
输出
3使用SCAN算法向增长方向输入
输出
4使用SCAN算法向减少方向输入
f输出
5使用CSCAN算法输入
输出
7、附录java
packageexperime
t
importjavaioBufferedI
putStreamimportjavaioFileI
putStreamimportjavaioFileNotFou
dExceptio
importjavautilSca
er
publicclassF_Disc_Dispatch
privatestatici
tmaxsize100要访问的磁道数privatestatici
tcou
t磁道privatestatici
tcidao
ewi
tmaxsize当前磁道号privatestatici
t
ow总寻道长度privatestatici
tsum0平均寻道长度privatestaticdoubleAverageDista
ce当前移动臂的移动的方向1true表示向外,0false表示向内privatestaticboolea
directio
算法选择1使用FCFS算法
f2使用SSTF算法3使用SCAN算法4使用CSCAN算法privatestatici
toptio
0
for循环用到变量privatestatici
tiprivatestatici
tjprivatestatici
tk
privatestaticSca
erstdi
publicstaticr
好听全球资料 返回顶部