操作系统SSTF磁盘调度算法(共4页).doc
《操作系统SSTF磁盘调度算法(共4页).doc》由会员分享,可在线阅读,更多相关《操作系统SSTF磁盘调度算法(共4页).doc(4页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上 /SSTF磁盘调度算法#include#include#includeint *bubble(int cidao,int m) int i,j;int temp; for(i=0;im;i+) /使用冒泡法按从小到大顺序排列 for(j=i+1;jcidaoj) temp=cidaoi; cidaoi=cidaoj; cidaoj=temp; cout排序后的磁盘序列为:; for( i=0;im;i+) /输出排序结果 coutcidaoi ; coutendl; return cidao; void SSTF(int cidao,int m) int k=1;
2、int now,l,r; int i,j,sum=0; float ave; cidao=bubble(cidao,m); /调用冒泡排序算法排序 while(1) coutnow; if(cidaom-1=now) /若当前磁道号大于请求序列中最大者,则直接由外向内依次给予各请求服务 cout=0;i-) coutcidaoi=now) /若当前磁道号小于请求序列中最小者,则直接由内向外依次给予各请求服务 cout磁盘扫描序列为:; for(i=0;im;i+) coutcidaoicidao0&nowcidaom-1) /若当前磁道号大于请求序列中最小者且小于最大者 cout磁盘扫描序列为
3、:; while(cidaok=0)&(rm) /当前磁道在请求序列范围内 if(now-cidaol)(cidaor-now) /选择与当前磁道最近的请求给予服务 coutcidaol ; sum+=now-cidaol; now=cidaol; l=l-1; else if(now-cidaol)=(cidaor-now) coutcidaol ; sum+=now-cidaol; now=cidaol; l=l-1; else coutcidaor ; sum+=cidaor-now; now=cidaor; r=r+1; if(l=-1) /磁头移动到序列的最小号,返回外侧扫描仍未扫描的磁道 for(j=r;jm;j+) coutcidaoj=0;j-) coutcidaoj ; sum+=cidaom-1-cidao0; ave=(float)(sum)/(float)(m); coutendl; cout平均寻道长度: aveendl; int main() int a,b,N; int cidao10; coutN; cout请输入N个磁道号:; for(a=0;ab;cidaoa=b; SSTF(cidao,N);专心-专注-专业
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 操作系统 SSTF 磁盘 调度 算法
限制150内