磁碟排程演算法

2021-08-20 06:09:31 字數 1173 閱讀 2902

#include

#include

#include

#include

#define n 8

int *init(int arr)  //隨機產生磁軌

printf("\n"); 

return arr;

}void two_part(int arr)  //把產生產生的隨機磁軌分為從小到大 從大到小兩個部分排序

}  }    

j = 0;  

for (i = 0; i < n; i++)  

else  

}  printf("\n電梯演算法訪問序列:\n");  

for (i = 1; i <= j; i++)  //迴圈輸出從大到小的磁軌

for (i = k; i >0; i--)   //迴圈輸出從小到大的磁軌

}printf("\n");

sum = ((a[j]-100)*2+(100- b[1]));  

printf("移動的磁軌總數:%d\n",sum);

printf("平均尋道長度:%d\n", sum/n);//計算平均尋到長度

} void sstf(int arr)

num = arr[x];  //當前磁頭改變

sum =sum +tmp;

for(j=0;j printf("\n移動的磁軌總數:%d",sum);

printf("\n平均尋道長度:%d\n",sum/n);

}void main()  

;int i,s=0;

printf("--------------------------------\n");

printf("-       磁碟排程演算法           -\n");

printf("--------------------------------\n");

printf("顯示隨機生產的磁軌:\n");

int *ret=init(arr);

printf("\n-------------------------------------\n");

two_part(ret);

printf("\n*************************************\n");

sstf(ret);

getchar();  

磁碟排程演算法

磁碟排程在多道程式設計的計算機系統中,各個程序可能會不斷提出不同的對磁碟進行讀 寫操作的請求。由於有時候這些程序的傳送請求的速度比磁碟響應的還要快,因此我們有必要為每個磁碟裝置建立乙個等待佇列,常用的磁碟排程演算法有以下四種 先來先服務演算法 fcfs 最短尋道時間優先演算法 sstf 掃瞄演算法 ...

磁碟排程演算法

一次磁碟讀寫操作的時間由尋找 尋道 時間 延遲時間和傳輸時間決定 1 尋找時間ts 活動頭磁碟在讀寫資訊前,將磁頭移動到指定磁軌所需要的時間。這個時間除跨越n條磁軌的時間外,還包括啟動磁臂的時間s,即 ts m n s。式中,m是與磁碟驅動器速度有關的常數,約為0.2ms,磁臂的啟動時間約為2ms。...

磁碟排程演算法

一次磁碟讀寫操作的時間由尋找 尋道 時間 延遲時間和傳輸時間決定。1 尋找時間ts 活動頭磁碟在讀寫資訊前,將磁頭移動到指定磁軌所需的時間。這個時間除跨越 n 條磁軌的時間外,還包括啟動磁臂的時間 s 即 ts m n s 備註 m 是與磁碟驅動器速度有關的常數,約為 0.2ms 磁臂的啟動時間約為...