操作系统全体报告-实验八_第1页
操作系统全体报告-实验八_第2页
操作系统全体报告-实验八_第3页
操作系统全体报告-实验八_第4页
操作系统全体报告-实验八_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

请在以上示例实验程序中补充SCAN,C-SCAN,LOOK磁盘移臂调度算法的模拟程序。输入不同的磁盘柱面请求序列,观察和分析其调度效果和性能,并将其与FCFS和SSTF磁盘柱面请求序列,以便能动态的观测各种调度算法的性能拟算法的编程技巧,锻炼研究分析试验数据的能力。CPU:I5-4210/2.6GHz内存:4GB硬盘:Ubuntu14.0.4-Linux操作系统gccversion的同方向磁道,直到回到0,然后反方向扫描0,然后回到起点,从最大磁道开#include<iostream>#include<iomanip>#include<malloc.h> usingnamespacestd;classDiskArm{voidInitSpace(char*MethodName)voidReport(void);//报告算法执行情况voidFcfs(void);voidSstf(void);voidScan(void);//电梯调度算法voidCScan(void);voidLook(void);//LOOK调度算法int*Requestint*Cylinder;intintintintint#include"dask.h"intcout<<"PleaseinputCurrentcylinder:";cin>>CurrentCylinder;//磁头方向,输入0表示向小道号移动,1表示向大道号移动cout<<"PleaseinputCurrentDirection(0/1):";cin>>SeekDirection;cout<<"PleaseinputRequestNumbers:";cin>>RequestNumber;cout<<"PleaseinputReqylinderstring:";Request=newint[sizeof(int)*RequestNumber];Cylinder=newint[sizeof(int)*RequestNumber];for(i=0;i<RequestNumber;i++)cin>>}}voidDiskArm::InitSpace(char*{intcout<<endl<<MethodName<<endl;SeekNumber=0;SeekChang=for(i=0;i<RequestNumber;Cylinder[i]=}//统计报告算法执行情况voidDiskArm::Report(void){cout<<endl;cout<<"SeekNumber:"<<SeekNumber<<endl;cout<<"ChangDirection:"<<SeekChang<<endl<<}void{intCurrent=CurrentCylinder;intDirection=SeekDirection;cout<<for(inti=0;i<RequestNumber; &&!Direction)||((Cylinder[i]<Current)&&Direction)){SeekChang++;//调头数加DirectionDirectioncout<<endl<<Current<<"->"}elsecoutCylinder[iSeekNumber+=abs(Current-Cylinder[i]);Current=Cylinder[i];}}void{intintDistance=999999intDirection=SeekDirection;intCurrent=CurrentCylinder;cout<<for(inti=0;i<RequestNumber;for(intj=0;j<RequestNumber;if(Cylinderj]==-1)continue;//-1表示已经响应if(Distance>abs(Current-Cylinder[Distanceabs(Current-Cylinderj]);Shortest=j;}}if(((Cylinder[Shortest]>=Current)&&!Direction)||((Cylinder[Shortest]<CurrentCylinder)&&Direction)){SeekChang++;//调头数加DirectionDirectioncout<<endl<<Current<<"->"<<}elsecout<<"->"<<Cylinder[Shortest] -Current=Distance=999999;Cylinder[Shortest]=-}}voidintCurrent=intDirection=SeekDirection;cout<<for(inti=0;i<RequestNumber;i++){intindex=-1;intDistance=for(intj=0;j<RequestNumber;j++){if(Cylinder[j]==-1)nder[j])<Distance)}}}}elseif(Direction==1){}}}}voidintCurrent=CurrentCylinder;intDirection=SeekDirection;cout<<for(inti=0;i<RequestNumber;i++){intindex=-1;intDistance=for(intj=0;j<RequestNumber;j++){if(Cylinder[j]==-1)nder[j])<Distance)}}}}elseif(Direction==1){}}}}//LOOK调度算法void{intCurrent=intDirection=SeekDirection;cout<<for(inti=0;i<RequestNumber;i++){intindex=-1;intDistance=for(intj=0;j<RequestNumber;j++){if(Cylinder[j]==-1)nder[j])<Distance)}}}}elseif(Direction

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论