系統中有若干個程序,每個程序由程序控制塊(pcb)來標識。程序控制塊的內容有:程序名、鏈結指標、到達時間、執行時間、完成時間、程序優先數和程序狀態等。程序優先數為整數型,優先數小優先順序高。
#include
#include
typedef struct pcb
pcb;
pcb *ready = null, *p;
void disp(pcb* p);
pcb * sort(pcb * p)
else
if( p->priority==ready->priority) //如果優先順序相同,則按時間排序
else
}else
if(p->priority>ready->priority)
else
if(p->priority==second->priority)
else
}else
if(p->priority>second->priority)
}if (insert == 0)
}return ready;
}void input()
printf("按程序的優先順序進行排序!\n");
p=ready;
while (p != null)
}int maxnumber(pcb *p)
p=p->link;
}return(max);
}void disp(pcb* p)
void run(pcb *p)
while(s!=null)
printf("程序%s執行一次\n",p->name);
p->runtime--;
p->priority++;
time=time+1;
p->finishtime=time+a;
if(p->runtime==0)
else
}
printf("平均周轉時間為%f\n",sum*1.0/n);
printf("平均帶權周轉時間%f\n",sum1*1.0/n);
}void main()
作業系統 程序排程(C語言)
include include include include using namespace std struct pcb type typedef struct queuenode 佇列鍊錶 queuelink 設定全程變數 struct queuenode ready head null,re...
作業系統 程序排程實驗 模擬 C 版
一 實驗目的 編寫並除錯乙個模擬的程序排程程式,以加深對程序的概念及程序排程演算法的理解 二 實驗內容 除錯執行 動態優先順序 排程演算法,給出執行結果。採用 短程序優先 排程演算法對五個程序進行排程。每個程序有乙個程序控制塊 pcb 表示。程序控制塊可以包含如下資訊 程序名 到達時間 需要執行時間...
作業系統程序排程模擬程式
time.h ifndef time h define time h 乙個模擬時間的類,被pcb和pattemper使用 作為資料成員,或者作為引數進行傳遞,類 只定義了幾個操作符過載的函式用來作為引數 和成員在計算中的使用。類本身會保證構造的時間 都是正確的格式,如果不爭取會置為零值或者丟擲異常 ...