欢迎来到天天文库
浏览记录
ID:59348405
大小:114.50 KB
页数:17页
时间:2020-09-04
《磁盘调度实验报告.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、学生学号01实验课成绩武汉理工大学学生实验报告书实验课程名称计算机操作系统开课学院计算机科学与技术学院指导老师姓名蔡菁学生姓名常云鹏学生专业班级计算机13042015—2016学年第一学期实验项目名称:磁盘调度设计目的、功能与要求:设计目的和功能:任选一种计算机高级语言编程模拟实现磁盘调度功能。选择1-2种磁盘调度算法实现(先来先服务、最短寻道时间优先、电梯调度)输入当前磁头的位置、磁头的方向、磁道访问请求序列等能显示磁盘调度结果,并计算磁头移动的总磁道数功能框图: 源代码:#include#include2、>#include#include#definemaxnumber1000intdecide(charstr[])//判断输入数据是否有效{inti=0;while(str[i]!=' '){if(str[i]<'0'3、4、str[i]>'9'){return0;break;}i++;}returni;}inttrans(charstr[],inta)//将字符串转换成数字{inti;intsum=0;for(i=0;i5、-i-1));}returnsum;}int*bubble(intcidao[],intm){inti,j;intt;for(i=0;icidao[j]){t=cidao[i];cidao[i]=cidao[j];cidao[j]=t;}}cout<<"排序后的磁盘序列为:";for(i=0;i6、idao[],intm)//磁道号数组,个数为m{intn;//当前磁道号intsum=0;//总寻道长度intj,i;intb;charstr[100];floatave;//平均寻道长度cout<<"磁盘请求序列为:";for(i=0;i>str;//对输入数据进行有效性判断b=decide(str);if(b==0){cout<<"输入数据的类型错误,请重新输入!"<7、l;gotoB;}elsen=trans(str,b);//输入当前磁道号sum+=abs(cidao[0]-n);cout<<"磁盘扫描序列为:";for(i=0;i8、tn,l,s;inti,j,sum=0;inta;charstr[100];floatave;cidao=bubble(cidao,m);//调用冒泡排序算法排序cout<<"请输入当前的磁道号:";C:cin>>str;//对输入数据进行有效性判断a=decide(str);if(a==0){cout<<"输入数据的类型错误,请重新输入!"<9、盘扫描序列为:";for(i=m-1;i>=0;i--)cout<=n)//若当前磁道号小于请求序列中最小者,则直接由内向外依次给予各请求服务{cout<<"磁盘扫描序列为:";for(i=0;icidao[0]&&n10、当前磁道在已排的序列中的位置,后面的算法都用到了,可以直接复制后少量修改,节省时间。{r++;}l=r-1;s=r;while((l>=0)&&(s<
2、>#include#include#definemaxnumber1000intdecide(charstr[])//判断输入数据是否有效{inti=0;while(str[i]!=' '){if(str[i]<'0'
3、
4、str[i]>'9'){return0;break;}i++;}returni;}inttrans(charstr[],inta)//将字符串转换成数字{inti;intsum=0;for(i=0;i5、-i-1));}returnsum;}int*bubble(intcidao[],intm){inti,j;intt;for(i=0;icidao[j]){t=cidao[i];cidao[i]=cidao[j];cidao[j]=t;}}cout<<"排序后的磁盘序列为:";for(i=0;i6、idao[],intm)//磁道号数组,个数为m{intn;//当前磁道号intsum=0;//总寻道长度intj,i;intb;charstr[100];floatave;//平均寻道长度cout<<"磁盘请求序列为:";for(i=0;i>str;//对输入数据进行有效性判断b=decide(str);if(b==0){cout<<"输入数据的类型错误,请重新输入!"<7、l;gotoB;}elsen=trans(str,b);//输入当前磁道号sum+=abs(cidao[0]-n);cout<<"磁盘扫描序列为:";for(i=0;i8、tn,l,s;inti,j,sum=0;inta;charstr[100];floatave;cidao=bubble(cidao,m);//调用冒泡排序算法排序cout<<"请输入当前的磁道号:";C:cin>>str;//对输入数据进行有效性判断a=decide(str);if(a==0){cout<<"输入数据的类型错误,请重新输入!"<9、盘扫描序列为:";for(i=m-1;i>=0;i--)cout<=n)//若当前磁道号小于请求序列中最小者,则直接由内向外依次给予各请求服务{cout<<"磁盘扫描序列为:";for(i=0;icidao[0]&&n10、当前磁道在已排的序列中的位置,后面的算法都用到了,可以直接复制后少量修改,节省时间。{r++;}l=r-1;s=r;while((l>=0)&&(s<
5、-i-1));}returnsum;}int*bubble(intcidao[],intm){inti,j;intt;for(i=0;icidao[j]){t=cidao[i];cidao[i]=cidao[j];cidao[j]=t;}}cout<<"排序后的磁盘序列为:";for(i=0;i6、idao[],intm)//磁道号数组,个数为m{intn;//当前磁道号intsum=0;//总寻道长度intj,i;intb;charstr[100];floatave;//平均寻道长度cout<<"磁盘请求序列为:";for(i=0;i>str;//对输入数据进行有效性判断b=decide(str);if(b==0){cout<<"输入数据的类型错误,请重新输入!"<7、l;gotoB;}elsen=trans(str,b);//输入当前磁道号sum+=abs(cidao[0]-n);cout<<"磁盘扫描序列为:";for(i=0;i8、tn,l,s;inti,j,sum=0;inta;charstr[100];floatave;cidao=bubble(cidao,m);//调用冒泡排序算法排序cout<<"请输入当前的磁道号:";C:cin>>str;//对输入数据进行有效性判断a=decide(str);if(a==0){cout<<"输入数据的类型错误,请重新输入!"<9、盘扫描序列为:";for(i=m-1;i>=0;i--)cout<=n)//若当前磁道号小于请求序列中最小者,则直接由内向外依次给予各请求服务{cout<<"磁盘扫描序列为:";for(i=0;icidao[0]&&n10、当前磁道在已排的序列中的位置,后面的算法都用到了,可以直接复制后少量修改,节省时间。{r++;}l=r-1;s=r;while((l>=0)&&(s<
6、idao[],intm)//磁道号数组,个数为m{intn;//当前磁道号intsum=0;//总寻道长度intj,i;intb;charstr[100];floatave;//平均寻道长度cout<<"磁盘请求序列为:";for(i=0;i>str;//对输入数据进行有效性判断b=decide(str);if(b==0){cout<<"输入数据的类型错误,请重新输入!"<7、l;gotoB;}elsen=trans(str,b);//输入当前磁道号sum+=abs(cidao[0]-n);cout<<"磁盘扫描序列为:";for(i=0;i8、tn,l,s;inti,j,sum=0;inta;charstr[100];floatave;cidao=bubble(cidao,m);//调用冒泡排序算法排序cout<<"请输入当前的磁道号:";C:cin>>str;//对输入数据进行有效性判断a=decide(str);if(a==0){cout<<"输入数据的类型错误,请重新输入!"<9、盘扫描序列为:";for(i=m-1;i>=0;i--)cout<=n)//若当前磁道号小于请求序列中最小者,则直接由内向外依次给予各请求服务{cout<<"磁盘扫描序列为:";for(i=0;icidao[0]&&n10、当前磁道在已排的序列中的位置,后面的算法都用到了,可以直接复制后少量修改,节省时间。{r++;}l=r-1;s=r;while((l>=0)&&(s<
7、l;gotoB;}elsen=trans(str,b);//输入当前磁道号sum+=abs(cidao[0]-n);cout<<"磁盘扫描序列为:";for(i=0;i8、tn,l,s;inti,j,sum=0;inta;charstr[100];floatave;cidao=bubble(cidao,m);//调用冒泡排序算法排序cout<<"请输入当前的磁道号:";C:cin>>str;//对输入数据进行有效性判断a=decide(str);if(a==0){cout<<"输入数据的类型错误,请重新输入!"<9、盘扫描序列为:";for(i=m-1;i>=0;i--)cout<=n)//若当前磁道号小于请求序列中最小者,则直接由内向外依次给予各请求服务{cout<<"磁盘扫描序列为:";for(i=0;icidao[0]&&n10、当前磁道在已排的序列中的位置,后面的算法都用到了,可以直接复制后少量修改,节省时间。{r++;}l=r-1;s=r;while((l>=0)&&(s<
8、tn,l,s;inti,j,sum=0;inta;charstr[100];floatave;cidao=bubble(cidao,m);//调用冒泡排序算法排序cout<<"请输入当前的磁道号:";C:cin>>str;//对输入数据进行有效性判断a=decide(str);if(a==0){cout<<"输入数据的类型错误,请重新输入!"<9、盘扫描序列为:";for(i=m-1;i>=0;i--)cout<=n)//若当前磁道号小于请求序列中最小者,则直接由内向外依次给予各请求服务{cout<<"磁盘扫描序列为:";for(i=0;icidao[0]&&n10、当前磁道在已排的序列中的位置,后面的算法都用到了,可以直接复制后少量修改,节省时间。{r++;}l=r-1;s=r;while((l>=0)&&(s<
9、盘扫描序列为:";for(i=m-1;i>=0;i--)cout<=n)//若当前磁道号小于请求序列中最小者,则直接由内向外依次给予各请求服务{cout<<"磁盘扫描序列为:";for(i=0;icidao[0]&&n10、当前磁道在已排的序列中的位置,后面的算法都用到了,可以直接复制后少量修改,节省时间。{r++;}l=r-1;s=r;while((l>=0)&&(s<
10、当前磁道在已排的序列中的位置,后面的算法都用到了,可以直接复制后少量修改,节省时间。{r++;}l=r-1;s=r;while((l>=0)&&(s<
此文档下载收益归作者所有