資源描述:
《磁盤(pán)調(diào)度算法(先來(lái)先服務(wù)最短尋道優(yōu)先)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)。
1、磁盤(pán)調(diào)度算法(先來(lái)先服務(wù)/最短尋道優(yōu)先)#include#include#includevoidFCFS(inta[],intm,intnow);//先來(lái)先服務(wù)voidSSTF(inta[],intn,intnow);//最短尋道時(shí)間優(yōu)先voidchoose(inta[],intn);//選擇排序voidFCFS(inta[],intm,intnow){//先來(lái)先服務(wù)算法實(shí)現(xiàn)inti,b,sum=0;printf("磁盤(pán)調(diào)度序列:
2、");printf("(從%d磁道開(kāi)始)",now);printf("-----------------------");printf("下一個(gè)訪問(wèn)
3、移動(dòng)距離");for(i=0;i%dt%d",a[i],b);}doubled=sum*1.0/m;printf("平均尋道長(zhǎng)度:%.2f",d);}voidSSTF(inta[],intn,in
4、tnow)//最短尋道時(shí)間優(yōu)先算法實(shí)現(xiàn){inti,k,sum=0,b;choose(a,n);//對(duì)磁道序列進(jìn)行排序printf("");printf("磁盤(pán)調(diào)度序列:");printf("(從%d磁道開(kāi)始)",now);printf("-----------------------");printf("下一個(gè)訪問(wèn)
5、移動(dòng)距離");if(a[0]>=now){//當(dāng)前磁道號(hào)小于請(qǐng)求磁道號(hào)的最小值for(i=0;i6、=a[i];printf("-->%dt%d",now,b);}}elseif(a[n-1]<=now){//當(dāng)前磁道號(hào)大于請(qǐng)求磁道號(hào)的最大值for(i=0;i%dt%d",now,b);}}elseif(a[0]now){//當(dāng)前磁道號(hào)介于請(qǐng)求磁道序列的最大與最小之間for(i=0;i=now){k=i;break;}/
7、/選擇第一個(gè)比當(dāng)前磁道號(hào)大的磁道號(hào)intright=k;intleft=k-1;while(left>=0&&right%dt%d",now,b);left--;}else{//當(dāng)前磁道號(hào)與小于它的近b=a[right]-now;sum+=b;now=a[right];printf("-->%dt%d",
8、now,b);right++;}}if(left<0){//磁道序列左邊最小的磁道號(hào)已經(jīng)訪問(wèn),轉(zhuǎn)向右邊沒(méi)有訪問(wèn)的for(intj=right;j%dt%d",now,b);}}elseif(right==n){//磁道序列右邊最大的磁道號(hào)已經(jīng)訪問(wèn),轉(zhuǎn)向左邊沒(méi)有訪問(wèn)的for(intj=left;j>=0;j--){b=now-a[j];sum+=b;now=a[j];printf("-->%dt%d
9、",now,b);}}}doubled=sum*1.0/n;printf("平均尋道長(zhǎng)度:%.2f",d);}voidchoose(inta[],intn)//選擇排序?qū)崿F(xiàn){inti,k,index,temp;for(k=0;k10、;i