作業系統實驗課(三)時間片輪轉排程演算法

2021-09-01 09:26:31 字數 678 閱讀 7493

#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 ...