全文预览

操作系统概论实践作业

上传者:学习一点 |  格式:docx  |  页数:27 |  大小:28KB

文档介绍
];  //将随机生成的磁道数数组Discl[]复制给数组RLine[] intMin; All=0; //统计全部的磁道数变量 k=9; //限定10个的磁道数 CopyL(DiscL,RLine,9); //复制磁道号到临时数组RLine   printf("\n+按照SSTF算法磁道的访问顺序为:"); for(i=0;i<=9;i++) {       Min=64000; for(j=0;j<=k;j++)//内循环寻找与当前磁道号最短寻道的时间的磁道号  {  if(RLine[j]>Han) //如果第一个随机生成的磁道号大于当前的磁道号,执行下一句   Temp=RLine[j]-Han; //求出临时的移动距离  else   Temp=Han-RLine[j]; //求出临时的移动距离  if(Temp<Min) //如果每求出一次的移动距离小于Min,执行下一句  {   Min=Temp; //Temp临时值赋予Min   h=j; //把最近当前磁道号的数组下标赋予h  } } All=All+Min; //统计一共移动的距离 printf("%5d",RLine[h]); Han=RLine[h];  DelInq(RLine,h,k); //每个磁道数向前移动一位 k--; } Best[Jage][1]=All;//Best[][1]存放移动磁道数  Best[Jage][0]=2;//Best[][0]存放算法的序号为:2 Jage++;//排序序号加1 Aver=((float)All)/10;//求平均寻道次数  printf("\n+移动磁道数:<%5d>",All); printf("\n+平均寻道长度:*%0.2f*",Aver);}//扫描算法(SCAN)intSCAN(intHan,intDiscL[],intx,inty){

收藏

分享

举报
下载此文档