磁盘调度算法

2019-04-21 19:55

实验六

磁盘调度算法

【实验目的】

通过这次实验,加深对磁盘调度算法的理解,进一步掌握先来先服务FCFS、最短寻道时间优先SSTF、SCAN和循环SCAN算法的实现方法。

【实验内容】

问题描述:

设计程序模拟先来先服务FCFS、最短寻道时间优先SSTF、SCAN和循环SCAN算法的工作过程。假设有n个磁道号所组成的磁道访问序列,给定开始磁道号m和磁头移动的方向(正向或者反向),分别利用不同的磁盘调度算法访问磁道序列,给出每一次访问的磁头移动距离,计算每种算法的平均寻道长度。

程序要求:

1)利用先来先服务FCFS、最短寻道时间优先SSTF、SCAN和循环SCAN算法模拟磁道访问过程。

2)模拟四种算法的磁道访问过程,给出每个磁道访问的磁头移动距离。

3)输入:磁道个数n和磁道访问序列,开始磁道号m和磁头移动方向(对SCAN和循环SCAN算法有效),算法选择1-FCFS,2-SSTF,3-SCAN,4-循环SCAN。

4)输出:每种算法的平均寻道长度。

实现提示:

用C++语言实现提示:

1)程序中变量定义参考(根据需要可添加)如下:

const int MaxNumber=100; int TrackOrder[MaxNumber]; int MoveDistance[MaxNumber]; double AverageDistance; bool direction;

2)页面置换的实现过程如下: ? 变量初始化;

? 接收用户输入磁道个数n和磁盘访问序列,选择算法1-FCFS,2-SSTF,3-SCAN,4-循环SCAN,输入开始磁盘号m和磁头移动方向;

? 根据用户选择的算法进行磁道访问,输出磁盘调度算法的模拟过程;

? 计算选择每次移动的磁头移动距离和算法的平均寻道长度;

?

输出选择算法的平均寻道长度。

实验要求:

1)上机前认真复习磁盘调度算法,熟悉FCFS、SSTF、SCAN和循环SCAN算法的过程;

2)上机时独立编程、调试程序;

3)根据具体实验要求,完成好实验报告(包括实验的目的、内

容、要求、源程序、实例运行结果截图、发现的问题以及解决方法)。 【实验分析】

需求分析:

(1) 按提示输入磁道个数,不得大于MaxNum;依次输入磁盘访问序列;按提示输入开始磁道号,磁头移动方向(1为磁道号增加方向,0为磁道号减少方向);根据提示输入要进行的算法类型,1-FCFS,2-SSTF,3-SCAN,4-循环SCAN。

(2) 输出的形式:先输出每次访问的磁道号和移动的磁头移动距离,最后输出平均寻道长度。

(3) 程序所能达到的功能:根据用户选择的算法进行磁道访问,输出磁盘调度算法的模拟过程,输出每次移动的磁头移动距离和算法的平均寻道长度。

(4) 测试数据: 输入数据分别为:9

55 58 39 18 90 160 150 38 184 100 1 输入:1

输出:被访问的下一个磁道号55 移动距离(磁道数)45

被访问的下一个磁道号58 移动距离(磁道数)3 被访问的下一个磁道号39 移动距离(磁道数)19 被访问的下一个磁道号18 移动距离(磁道数)21

被访问的下一个磁道号90 移动距离(磁道数)72 被访问的下一个磁道号160 移动距离(磁道数)70 被访问的下一个磁道号150 移动距离(磁道数)10 被访问的下一个磁道号38 移动距离(磁道数)112 被访问的下一个磁道号184 移动距离(磁道数)146 平均寻道长度:55.3333 输入:2

输出:被访问的下一个磁道号90 移动距离(磁道数)10

被访问的下一个磁道号58 移动距离(磁道数)32 被访问的下一个磁道号55 移动距离(磁道数)3 被访问的下一个磁道号39 移动距离(磁道数)16 被访问的下一个磁道号38 移动距离(磁道数)1 被访问的下一个磁道号18 移动距离(磁道数)20 被访问的下一个磁道号150 移动距离(磁道数)132 被访问的下一个磁道号160 移动距离(磁道数)10 被访问的下一个磁道号184 移动距离(磁道数)24 平均寻道长度:27.5556 输入:3

输出:被访问的下一个磁道号150 移动距离(磁道数)50

被访问的下一个磁道号160 移动距离(磁道数)10 被访问的下一个磁道号184 移动距离(磁道数)24 被访问的下一个磁道号90 移动距离(磁道数)94

被访问的下一个磁道号58 移动距离(磁道数)32 被访问的下一个磁道号55 移动距离(磁道数)3 被访问的下一个磁道号39 移动距离(磁道数)16 被访问的下一个磁道号38 移动距离(磁道数)1 被访问的下一个磁道号18 移动距离(磁道数)20 平均寻道长度:27.7778 输入:4

输出:被访问的下一个磁道号150 移动距离(磁道数)50

被访问的下一个磁道号160 移动距离(磁道数)10 被访问的下一个磁道号184 移动距离(磁道数)24 被访问的下一个磁道号18 移动距离(磁道数)166 被访问的下一个磁道号38 移动距离(磁道数)20 被访问的下一个磁道号39 移动距离(磁道数)1 被访问的下一个磁道号55 移动距离(磁道数)16 被访问的下一个磁道号58 移动距离(磁道数)3 被访问的下一个磁道号90 移动距离(磁道数)32 平均寻道长度:35.7778 概要设计:

(1)本程序中用到的数据的定义:

const int MaxNumber=100;


磁盘调度算法.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2013广东省县级以上公务员面试真题解析

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: