欢迎来到天天文库
浏览记录
ID:56904408
大小:211.00 KB
页数:12页
时间:2020-07-21
《磁盘调度算法的实现.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、一、实验目的:通过模拟设计磁盘驱动调度程序,观察驱动调度程序的动态运行过程,理解和掌握磁盘驱动调度的职能,并比较各种算法的调度结果。二、实验内容:要求设计主界面能灵活选择某算法,且以下算法都要实现。(1)先来先服务算法(FCFS)(2)最短寻道时间优先算法(SSTF)(3)扫描算法(SCAN)(4)循环扫描算法(CSCAN)三、实验步骤(1)需求分析:本设计中可在运行时随机产生一个请求序列,先把序列排序,以方便找到下一个要寻找的磁道。要求用户选择磁头移动方向,向里和向外移动用1和0表示,若输入值不为0或1,则报错。选择某种调度算法后,要求显
2、示调度顺序和移动的总磁道数。(2)详细设计:voidFCFS(inta[],intn);//先来先服务算法voidSSTF(inta[],intn);//最短寻道时间算法voidSCAN(inta[],intn);//扫描算法voidCSCAN(inta[],intn);//循环扫描算法intmain(){intn;//磁道的个数ints;//功能号cout<<"请输入磁道的个数:"<>n;int*a=newint[n];cout<<"生成随机磁道号..."<3、));for(inti=0;i>s;if(s>4){co4、ut<<"输入有误!"<#includeusingnamespacestd;voidFCFS(inta[],intn);voidSSTF(inta[],intn);voidSCAN(inta[],in5、tn);voidCSCAN(inta[],intn);intmain()11{intn;//磁道的个数ints;//功能号cout<<"请输入磁道的个数:"<>n;int*a=newint[n];cout<<"生成随机磁道号..."<6、endl;cout<<"2、最短寻道时间算法(SSTF)"<>s;if(s>4){cout<<"输入有误!"<7、ak;case4:CSCAN(a,n);break;}}}return0;}11//先来先服务调度算法(FCFS)voidFCFS(inta[],intn){intsum=0,j,i,first=0,now;cout<<"请输入当前磁道号:";cin>>now;//确定当前磁头所在位置cout<<"磁盘调度顺序为:"<8、里面磁道的距离}sum+=first+abs(now-a[0]);cout<
3、));for(inti=0;i>s;if(s>4){co
4、ut<<"输入有误!"<#includeusingnamespacestd;voidFCFS(inta[],intn);voidSSTF(inta[],intn);voidSCAN(inta[],in
5、tn);voidCSCAN(inta[],intn);intmain()11{intn;//磁道的个数ints;//功能号cout<<"请输入磁道的个数:"<>n;int*a=newint[n];cout<<"生成随机磁道号..."<6、endl;cout<<"2、最短寻道时间算法(SSTF)"<>s;if(s>4){cout<<"输入有误!"<7、ak;case4:CSCAN(a,n);break;}}}return0;}11//先来先服务调度算法(FCFS)voidFCFS(inta[],intn){intsum=0,j,i,first=0,now;cout<<"请输入当前磁道号:";cin>>now;//确定当前磁头所在位置cout<<"磁盘调度顺序为:"<8、里面磁道的距离}sum+=first+abs(now-a[0]);cout<
6、endl;cout<<"2、最短寻道时间算法(SSTF)"<>s;if(s>4){cout<<"输入有误!"<7、ak;case4:CSCAN(a,n);break;}}}return0;}11//先来先服务调度算法(FCFS)voidFCFS(inta[],intn){intsum=0,j,i,first=0,now;cout<<"请输入当前磁道号:";cin>>now;//确定当前磁头所在位置cout<<"磁盘调度顺序为:"<8、里面磁道的距离}sum+=first+abs(now-a[0]);cout<
7、ak;case4:CSCAN(a,n);break;}}}return0;}11//先来先服务调度算法(FCFS)voidFCFS(inta[],intn){intsum=0,j,i,first=0,now;cout<<"请输入当前磁道号:";cin>>now;//确定当前磁头所在位置cout<<"磁盘调度顺序为:"<8、里面磁道的距离}sum+=first+abs(now-a[0]);cout<
8、里面磁道的距离}sum+=first+abs(now-a[0]);cout<
此文档下载收益归作者所有