【正文】
me:到達時間 int f:優(yōu)先權(靜態(tài))QueueOfAll:儲存所有進程PCB PCB_Node[]:PCB結點的數(shù)組,用以保存所有進程信息 int length:總的進程數(shù)QueueOfCurrent:就緒進程隊列PCB PCB_Node[]:PCB結點的數(shù)組,用以保存所有進入就緒隊列的進程信息int front:指向當前隊頭的前一位int rear:指向當前隊尾 int length:總的進程數(shù) int current:當前在執(zhí)行的進程指針 int cut:該隊列的時間片長度FIFO,短進程優(yōu)先,優(yōu)先級調度算法示意流程圖:結束開始比較各進程的到達時間和系統(tǒng)當前時間,將未進入就緒隊列的進程插入到就緒隊列中。把就緒隊列的隊首進程進行調度并運行該進程進程運行完畢,將其出隊,并更新系統(tǒng)時間。隊列是否為空系統(tǒng)時間加1全部進程是否已調度完畢。NYYN按FCFS、SPF、FPF算法分別對就緒隊列中的進程進行排序時間片輪轉調度算法示意流程圖:Serveredtime[current]cutServeredtime[current]cut開始初始化個進程的PCB,輸入進程信息初始化就緒隊列CurrentPCB的信息,front=rear=1,current=0,length=0;系統(tǒng)運行時間systemtime=0;數(shù)組serveredtime[]記錄程序所需時間;SreachPCB();將0時刻到達的程序插入就緒隊列;