在多道程式系統中,排程的實質是一種資源分配。處理機排程是對處理機資源進行分配。
處理排程演算法是指根據處理機分配策略所規定的的處理機分配演算法。
此系列都是實現的非搶占的排程演算法。
先來先服務排程:
按照程序的先後進入次序進行排程
輸入:作業的數目,作業的到達時間與服務時間.
輸出:作業的呼叫序列與其周轉時間與結束時間。
執行結果:
所需要的資料結構:
//程序
struct process
;
需要的輔助函式:
//按照進入時間進行比較
bool cmp1(const process &p1,const process &p2)
實現方法:
q為服務程序佇列,儲存程序標記,便於輸出排程佇列。
void fcfs(queue&q, process *p, int n)
}
7 1 作業排程演算法 先來先服務
輸入n n 0 個作業,輸入每個作業的名字,到達時間,服務時間,按照先來先服務演算法,計算每個作業的完成時間,周轉時間,帶權周轉時間 保留2位小數 輸入格式 第一行輸入作業數目,第二行輸入作業的名字,第三行輸入到達時間,第四行輸入服務時間。輸出格式 按照到達時間從小到大排序,第一行輸出作業的名字,第...
處理機排程 排程演算法
先來先服務 fcfs 排程演算法 短作業 程序 優先排程演算法sjf spf 根據作業的長短在就緒佇列中排好隊,若採取非搶占方式則根據佇列順序依次執行 若為搶占方式,時間片完或新程序的作業比執行態的作業長度短,則搶占當前正在執行的程序,被搶占程序按照時間長短在就緒佇列排隊等待。特別注意就緒佇列中的排...
處理機排程 程序排程
使用者程序數一般都多於處理機數,這將導致使用者程序互相爭奪處理機,那麼多程序競爭處理機,處理機到底給誰呢?就涉及了程序排程的問題。因此要求程序排程程式按一定的策略,動態地把處理機分配給處於就緒佇列中的某乙個程序。1.程序管理模組將系統中各程序的執 況和狀態特徵記錄在各程序的pcb表中 2.程序管理模...