欢迎来到天天文库
浏览记录
ID:58604380
大小:437.37 KB
页数:12页
时间:2020-10-18
《磁盘调度算法的实现.pdf》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
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、;srand((unsigned)time(NULL));for(inti=0;i4、ndl;cout<<"请选择功能号:";cin>>s;if(s>4){cout<<"输入有误!"<#includeusingnamespacestd;voidFCFS(int5、a[],intn);voidSSTF(inta[],intn);voidSCAN(inta[],intn);voidCSCAN(inta[],intn);intmain(){intn;//磁道的个数ints;//功能号cout<<"请输入磁道的个数:"<>n;int*a=newint[n];cout<<"生成随机磁道号..."<6、<"";}cout<>s;if(s>4){cout<<"输入有误!"<7、t(0);break;case1:FCFS(a,n);break;case2:SSTF(a,n);break;case3:SCAN(a,n);break;case4:CSCAN(a,n);break;}}}return0;}//先来先服务调度算法(FCFS)voidFCFS(inta[],intn){intsum=0,j,i,first=0,now;cout<<"请输入当前磁道号:";cin>>now;//确定当前磁头所在位置cout<<"磁盘调度顺序为:"<8、序输出磁道号{cout<
3、;srand((unsigned)time(NULL));for(inti=0;i4、ndl;cout<<"请选择功能号:";cin>>s;if(s>4){cout<<"输入有误!"<#includeusingnamespacestd;voidFCFS(int5、a[],intn);voidSSTF(inta[],intn);voidSCAN(inta[],intn);voidCSCAN(inta[],intn);intmain(){intn;//磁道的个数ints;//功能号cout<<"请输入磁道的个数:"<>n;int*a=newint[n];cout<<"生成随机磁道号..."<6、<"";}cout<>s;if(s>4){cout<<"输入有误!"<7、t(0);break;case1:FCFS(a,n);break;case2:SSTF(a,n);break;case3:SCAN(a,n);break;case4:CSCAN(a,n);break;}}}return0;}//先来先服务调度算法(FCFS)voidFCFS(inta[],intn){intsum=0,j,i,first=0,now;cout<<"请输入当前磁道号:";cin>>now;//确定当前磁头所在位置cout<<"磁盘调度顺序为:"<8、序输出磁道号{cout<
4、ndl;cout<<"请选择功能号:";cin>>s;if(s>4){cout<<"输入有误!"<#includeusingnamespacestd;voidFCFS(int
5、a[],intn);voidSSTF(inta[],intn);voidSCAN(inta[],intn);voidCSCAN(inta[],intn);intmain(){intn;//磁道的个数ints;//功能号cout<<"请输入磁道的个数:"<>n;int*a=newint[n];cout<<"生成随机磁道号..."<6、<"";}cout<>s;if(s>4){cout<<"输入有误!"<7、t(0);break;case1:FCFS(a,n);break;case2:SSTF(a,n);break;case3:SCAN(a,n);break;case4:CSCAN(a,n);break;}}}return0;}//先来先服务调度算法(FCFS)voidFCFS(inta[],intn){intsum=0,j,i,first=0,now;cout<<"请输入当前磁道号:";cin>>now;//确定当前磁头所在位置cout<<"磁盘调度顺序为:"<8、序输出磁道号{cout<
6、<"";}cout<>s;if(s>4){cout<<"输入有误!"<7、t(0);break;case1:FCFS(a,n);break;case2:SSTF(a,n);break;case3:SCAN(a,n);break;case4:CSCAN(a,n);break;}}}return0;}//先来先服务调度算法(FCFS)voidFCFS(inta[],intn){intsum=0,j,i,first=0,now;cout<<"请输入当前磁道号:";cin>>now;//确定当前磁头所在位置cout<<"磁盘调度顺序为:"<8、序输出磁道号{cout<
7、t(0);break;case1:FCFS(a,n);break;case2:SSTF(a,n);break;case3:SCAN(a,n);break;case4:CSCAN(a,n);break;}}}return0;}//先来先服务调度算法(FCFS)voidFCFS(inta[],intn){intsum=0,j,i,first=0,now;cout<<"请输入当前磁道号:";cin>>now;//确定当前磁头所在位置cout<<"磁盘调度顺序为:"<8、序输出磁道号{cout<
8、序输出磁道号{cout<
此文档下载收益归作者所有