#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 磁臂的啟動時間約為...