当前位置:文档之家› 操作系统实验三磁盘调度算法的实现

操作系统实验三磁盘调度算法的实现

报告
2013至2014学年第一学期
课程名称
操作系统
学号
学生姓名
年级
专业
教学班号
实验地点
实验时间
2013年月日 第 节 至月 日第 节
主讲教师
辅导教师
实验( 三 )
实验名称
磁盘调度算法的实现
软件环境
VC++
硬件环境
PC机
实验目的
《操作系统》是计算机科学与技术专业和信息与计算科学专业本科教学计划中的一门重要的专业基础课程,是对计算机系统硬﹑软件资源进行管理的系统软件,是计算机系统的管理和指挥中心。通过本课程实验,使学生综合运用程序设计基础与语言、数据结构、计算机原理与接口等先行课程的知识以及操作系统课程的知识在各种资源管理调度策略下,设计操作系统资源管理的模拟程序,使学生加深了解操作系统的工作机理,对操作系统的功能及结构设计有更加深入的实践,为开发系统软件和应用软件打下基础。
int main()
{
int n;."<<endl;
srand((unsigned)time(NULL));
for(int i=0;i<n;i++)
{
a[i]=(rand()%100)+1;
cout<<a[i]<<" "; }
cout<<endl;
while(1) {
cout<<endl;
cout<<"1、先来先服务算法(FCFS)"<<endl;
cout<<"2、最短寻道时间算法(SSTF)"<<endl;
cout<<"3、扫描算法(SCAN)"<<endl;
cout<<"4、循环扫描算法(CSCAN)"<<endl;
cout<<"0、退出"<<endl;
cout<<endl;
cout<<"请选择功能号:";
cin>>s;
if(s>4){
cout<<"输入有误!"<<endl;}
在VC++编写如下代码
#include<iostream>
#include<ctime>
using namespace std;
void FCFS(int a[],int n);
void SSTF(int a[],int n);
void SCAN(int a[],int n);
void CSCAN(int a[],int n);
来先服务算法(FCFS)测试结果
2.最短寻道时间算法(SSTF)测试结果
3.循环扫描算法(SCAN)测试结果
4.循环扫描算法(CSCAN)测试结果
由以上测试结果可知,在相同的实验前提下,SSTF移动的总道数最少,性能最优
附录(可包括源程序清单或其它说明)
else{
switch(s){ case 0: exit(0);break ;
case 1:FCFS(a,n); break;
case 2:SSTF(a, n);break;
case 3:SCAN(a, n);break;
case 4:CSCAN(a,n);break; }}}
return 0; }
实验内容(应包括实验题目、实验要求、实验任务等)
实验内容:
1、本实验是模拟操作系统的磁盘寻道方式,运用磁盘访问顺序的不同来设计磁盘的调度算法。
2、实现的磁盘调度算法有FCFS,SSTF,SCAN,CSCAN和NStepSCAN算法。
3、设定开始磁道号寻道范围,依据起始扫描磁道号和最大磁道号数,随机产生要进行寻道的磁道号序列。
4、选择磁盘调度算法,显示该算法的磁道访问顺序,计算出移动的磁道总数和平均寻道总数。
5、按算法的寻道效率进行排序,并对各算法的性能进行分析比较。
实验要求:
学生应正确地设计有关的数据结构与各个功能模块,画出程序的流程图,编写程序,程序执行结果应正确
实验过程与实验结果(可包括实验实施的步骤、算法描述、流程、结论等)
相关主题