一、實驗目的
了解並掌握程序、程序排程的概念及程序排程演算法。
二、實驗內容
假設某單處理機系統採用「基於動態優先權的時間片輪轉」排程演算法,系統允許程序的最大個數為10。程序佇列採用單向鍊錶組織程序控制塊。請程式設計實現該演算法。
三、實驗要求
1.程序控制塊的資料結構定義如下:
pointer=^pcb;
pcb=record
name:char;
status:string;
priority:integer;//程序動態優先順序
ax:integer;
next:pointer;
times://程序要求服務時間
end;
2.通過過程creat建立程序,程序控制塊的相關資料手動輸入(當輸滿10個或程序名為「0」時結束輸入)
3. 通過函式schedule進行程序排程,並輸出排程的順序。
4. 時間片長度自行設定,動態優先權的修改方法自行設定(但必須符合演算法設計的原則),不足的條件可自行補充。
處理機排程 程序排程
使用者程序數一般都多於處理機數,這將導致使用者程序互相爭奪處理機,那麼多程序競爭處理機,處理機到底給誰呢?就涉及了程序排程的問題。因此要求程序排程程式按一定的策略,動態地把處理機分配給處於就緒佇列中的某乙個程序。1.程序管理模組將系統中各程序的執 況和狀態特徵記錄在各程序的pcb表中 2.程序管理模...
程序和處理機排程
n 死鎖 指各併發程序彼此等待對方所占用的資源,且這些程序在未得到對方資源前不會釋放自己所擁有的資源,從而導致併發程序不能繼續向前推進的狀態 產生死鎖的四個必要條件 資源互斥 非剝奪 請求和保持 部分分配 環路等待。n死鎖的解決方案 a 預防 在系統設計時確定資源分配演算法,保證不發生死鎖 具體的方...
處理機排程 程序排程 作業排程演算法
在多道程式系統中,主存中有著多個程序,其數目往往多於處理機數目,這就要求系統能按照某種演算法,動態地將處理機分配給就緒佇列中的某個程序,使之執行。對於批量型作業而言,通常需要經歷作業排程 又稱為高階排程或長程排程 和程序排程 又稱為低階排程或短程排程 兩個過程後方能獲得處理機 對於終端型作業,通常只...