#include#define max 10
struct task_struct
tasks[max];
int counter; /*實際程序個數*/
int time_counter=0;
int pinput();
int poutput(); /*排程結果輸出*/
int time();
int charge();//判斷是否所有的程序都被執行過
int main()
int time()
if(tasks[i].run_flag==0)//該程序還未結束
if(tasks[i].run_time/time_counter>1)//至少有兩倍的時間片未執行
else if(tasks[i].run_time-time_counter==0)
else//僅剩下不足一倍的時間片}}
}} int charge()//判斷是否全部程序都執行完畢
{ int k;
int super_flag=0;//判斷是否全部的程序都執行完畢
for(k=0; k流程圖
作業系統 時間片輪轉排程演算法
時間片輪轉法 round robin,rr 主要用於分時系統中的程序排程。為了實現輪轉排程,系統把所有就緒程序按先入先出的原則排成乙個佇列。新來的程序加到就緒佇列末尾。每當執行程序排程時,程序排程程式總是選出就緒佇列的隊首程序,讓它在cpu上執行乙個時間片的時間。時間片是乙個小的時間單位,通常為10...
LUA學習筆記三 時間等作業系統庫
1.構造時間 2.時間制定格式輸出 3.計時器 閉包 os.difftime t2,t1 返回以秒計算的時刻 t1 到 t2 的差值。這裡的時刻是由 os.time 返回的值 在 posix,windows,和其它一些系統中,這個值就等於 t2 t1。4.執行 shell 命令 如下 1.構造時間 ...
作業系統課程設計(一)時間片輪轉實現多執行緒排程
include include include define get indos 0x34 34h 系統功能呼叫 define get crit err 0x5d06 5d06h號系統功能呼叫 define blank 1 define finished 0 終止 define running 1 ...