磁盘调度算法先来先服务最短寻道优先.doc 9页

  • 0
  • 0
  • 0
  • 约2.97千字
  • 2020-09-20 发布

磁盘调度算法先来先服务最短寻道优先.doc

文档工具:
    1. 1、本文档共9页,可阅读全部内容。
    2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
    3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
    4. 文档侵权举报电话:19940600175。
    磁盘调度算法(先来先服务/最短寻道优先) #include<stdio.h> #include<stdlib.h> #include<math.h> void FCFS(int a[],int m,int now);//先来先服务 void SSTF(int a[],int n,int now);//最短寻道时间优先 void choose(int a[],int n);//选择排序 void FCFS(int a[],int m,int now){ //先来先服务算法实现 int i,b,sum=0; printf(\ 磁盘调度序列:\n\n); printf( (从%d磁道开始)\n,now); printf(-----------------------\n); 牰湩晴尨下一个访问 | 移动距离\n); for(i=0;i<m;i++){ b=abs(a[i]-now); //每次移动距离 now=a[i]; sum=sum+b; printf(-->%d\t %d\n,a[i],b); } double d=sum*1.0/m; printf(\ 平均寻道长度:%.2f\n\n,d); } void SSTF(int a[],int n,int now) //最短寻道时间优先算法实现 { int i,k,sum=0,b; choose(a,n); //对磁道序列进行排序 printf(\ \n); 牰湩晴尨磁盘调度序列:\n\n); printf( (从%d磁道开始)\n,now); printf(-----------------------\n); 牰湩晴尨下一个访问 | 移动距离\n); if(a[0]>=now){ //当前磁道号小于请求磁道号的最小值 for(i=0;i<n;i++){ b=a[i]-now; sum+=b; now=a[i]; printf(-->%d\t %d\n,now,b); } } else if(a[n-1]<=now){ //当前磁道号大于请求磁道号的最大值 for(i=0;i<n;i++){ b=now-a[n-i-1]; sum+=b; now=a[n-i-1]; printf(-->%d\t %d\n,now,b); } } else if(a[0]<now&&a[n-1]>now){ //当前磁道号介于请求磁道序列的最大与最小之间 for(i=0;i<n;i++) if(a[i]>=now){ k=i;break;}//选择第一个比当前磁道号大的磁道号 int right=k; int left=k-1; while(left>=0&&right<n){ if(now-a[left]<=a[right]-now){ //当前磁道号与大于它的近 b=now-a[left]; sum+=b; now=a[left]; printf(-->%d\t %d\n,now,b); left--; } else{ //当前磁道号与小于它的近 b=a[right]-now; sum+=b; now=a[right]; printf(-->%d\t %d\n,now,b); right++; } } if(left<0){ //磁道序列左边最小的磁道号已经访问,转向右边没有访问的 for(int j=right;j<n;j++){ b=a[j]-now; sum+=b; now=a[j]; printf(-->%d\t %d\n,now,b); } } else if(right==n){//磁道序列右边最大的磁道号已经访问,转向左边没有访问的 for(int j=left;j>=0;j--){ b=now-a[j]; sum+=b; now=a[j]; printf(-->%d\t %d\n,now,b); } } } double d=sum*1.0/n; 牰湩晴尨平均寻道长度:%.2f\n\n,d

    文档评论(0)

    • 内容提供方:wangyueyue
    • 审核时间:2020-09-20
    • 审核编号:5240122232002344

    相似文档