下载此文档

磁盘调度算法课程设计报告.docx


文档分类:IT计算机 | 页数:约15页 举报非法文档有奖
1/15
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/15 下载此文档
文档列表 文档介绍
操作系统课程设计报告
题目: 磁盘调度算法
院系: 信息学院
班级: 信管11-2
姓名: 王裕辰
学号: 1101051024
指导教师: 赵华
一、概述
本次设计的程序主要功能是模拟访问磁盘的过程,实现先来先服务调度算法、最短寻道时间调度算法、扫描算法、循环扫描算法四个磁盘调度算法,并根据输入的数据和所选择的调度算法输出每种调度算法的磁盘访问顺序,计算并输出四个算法的平均寻道长度。
本程序主要实现磁盘访问的顺序,输出四种不同的磁盘调度算法的磁盘访问结果,并计算出各自的平均寻道长度。以此来对四种调度算法的性能进行评价。
二、设计的基本概念和原理
1、基本概念
当前磁道号:磁头当前时刻所在磁盘的磁道编号。
被访问的下一个磁道号:需要访问的下一个磁盘的磁道编号。
移动距离:磁头从当前磁道移动到被访问的下一个磁道号所需移动的磁道数。
2、基本原理
先来先服务(FCFS,e First Served)
按照进程请求访问磁盘的先后次序进行从小到大排序,每次访问最先请求访问的磁道。这样是每个进程的请求都能够依次地得到处理,不会出现某一进程的请求长期得不到满足的情况
最短寻道时间优先(SSTF, Shortest Seek Time First)
要求访问的磁道与当前磁头所在的磁道距离最近,以使每次的寻道时间最短。磁头每次都移动到距离当前磁道距离最小的磁道上。
扫描算法(SCAN)
将请求访问的磁道号进行排序(升序或降序),磁头按照磁道号从大到小或从小到达的顺序访问磁盘。
循环扫描算法(CSCAN)
磁头从当前磁道从里向外(或从外向里)访问磁道,当访问到最外(或最里)的磁道并访问后,磁头立即返回最里的(或最外)的欲访问的磁道,即最小(或最大)的磁道号紧接着最大(或最小)磁道号构成循环,进行循环扫描。
三、总体设计
本程序才用了结构化程序设计方法,将程序进行模块化处理。首先将进程访问磁盘的请
求抽象为一个类,用用户所输入的数据来把每个对象来初始化。然后分块地调用不同的函数实现不同的调度算法。
本程序包括以下三个模块:
预定义及进程类定义模块
定义程序所用到的头文件和常量。定义请求类的类成员,成员函数以及输出请求类的类成员的输出函数
主程序模块
包括以下五个步骤
①选择进程调度算法
②输入请求
③调用所选的磁盘调度算法
④计算每个请求的移动距离
⑤输出磁盘访问顺序和每个请求的移动距离,计算并输出所选算法的平均寻道长度
其它函数模块
定义了四种调度算法和程序中调用的其他函数。
程序流程图如下图所示
四、详细设计
每个模块的代码及分析如下:
预定义及进程类定义模块
#include ""
#include <iostream>
#include <cmath>
#include <iomanip>
using namespace std;
#define Startnumber 100 //开始访问的磁道号
#define Max 100 //进程最大值
class Request
{
private:
int number,distance,difference;
// number-被访问的下一个磁道号 distance-移动距离 difference--被访问的下一个磁道与当前磁道的距离
public:
int getnumber()//返回被访问的下一个磁道号
{
return number;
}
int getdistance()//返回移动距离
{
return distance;
}
int getdifference()//返回被访问的下一个磁道与当前磁道的距离
{
return difference;
}
void setnumber(int t)//设置被访问的下一个磁道号
{
number=t;
}
void setdistance(int t)//设置移动距离
{
distance=t;
}
void setdifference(int t)//设置被访问的下一个磁道与当前磁道的距离
{
difference=t;
}
void show() const //输出被访问的下个磁道号和移动距离
{
cout<<setw(17)<<number<<setw(6)<<distance<<endl;
}
};
主程序模块
int main(int argc, char* argv[])
{
int i,c,num,option,choice;
double averdi

磁盘调度算法课程设计报告 来自淘豆网m.daumloan.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数15
  • 收藏数0 收藏
  • 顶次数0
  • 上传人164922429
  • 文件大小0 KB
  • 时间2014-01-13
最近更新