作業系統 作業排程(高階排程)

2021-07-24 23:01:44 字數 2083 閱讀 3563

乙個典型的作業可分成三個作業步:

1.「編譯」作業步;

2.「鏈結裝配」作業步;

3.「執行」作業步。

在多道批處理系統中通常有上百個作業,為了管理和排程作業,系統為每個作業設定了乙個作業控制塊(jcb),它記錄該作業的有關資訊。不同系統的 jcb的組成內容有所區別。

jcb 是作業在系統中存在的唯一標誌。作業進入系統時由系統為每個作業建立乙個 jcb;當作業退出系統時,則它的 jcb 也一起被撤消。

當使用者完成作業的提交,作業存在於外存中,系統建立jcb。在它還未被排程去執行前,該作業處於後備狀態。

作業被排程進入記憶體,並以程序的形式存在,其狀態是執行狀態。處於執行狀態的作業可以有多個。

處於執行狀態的作業並不意味著一定在 cpu 上執行,是否執行依賴於程序控制。

當作業已經完成其指定的功能,便進入停止狀態,系統**已分配資源。

取決於採用何種排程演算法(先來先服務、短作業優先等)

按程序(作業)進入就緒(後備)佇列的先後次序來分配處理機(為其建立程序)。

一般採用非剝奪的排程方式。

例如:

fcfs 排程演算法的平均作業周轉時間與作業提交的順序有關。

fcfs 排程演算法的特點:

例如

缺點 sjf 演算法雖然是優化的,但在 cpu 排程中很難實現。

對於 fcfs,等待時間是優先順序。對於 sjf,作業的長短是優先順序。

優先順序排程演算法(priority-scheduling algorithm, psa)以作業的緊迫程度為優先順序。

系統選擇優先順序最高的幾個作業裝入記憶體。

優先順序排程演算法也用於程序排程,系統在可執行的程序中選擇優先順序最高者使其投入執行。

優先順序的型別

優先權在建立程序時確定,且在程序的整個執行期間保持不變。一般用整數表示,小表示優先順序高。

確定原則:

優點:簡單,開銷小。

缺點:公平性差(對低優先權程序)

動態優先順序在程序的存在過程中不斷發生變化。

動態優先順序的變化取決於:

動態優先權確定方法的資源利用率高,公平性好,但開銷較大,實現較為複雜。

高響應比優先演算法 (hrrn)採用動態優先權。

fcfs 只考慮了作業的等待時間,忽略了執行時間。sjf 只考慮了作業的執行時間,忽略了等待時間。

高響應比優先排程演算法(highest response ratio next,hrrn) 既考慮了作業的等待時間,也考慮了作業的執行時間,是一種動態優先順序排程演算法。

如等待時間相同,則要求服務時間越短其優先權越高→sjf。

如要求服務時間相同,優先權決定於等待時間→fcfs。

對長作業,若等待時間足夠長,優先權也高,也能獲得cpu。

例如:

作業系統的作業排程

作業 job 是作業系統中乙個常見的概念,所謂作業是指使用者在一次計算過程或者事務處理過程中,要求計算機系統所作工作的集合。所謂作業排程是指按照某種原則,從後備作業佇列中選取作業進入記憶體,並為作業做好執行前的準備工作以及作業完成後的善後處理工作。設計作業排程演算法時應達到如下目標 1 某段時間內盡...

0422 作業系統作業排程

實驗 一 作業排程實驗 專業 商軟二班 姓名 顏文生 學號 201406114256 一 實驗目的 1 加深對作業排程演算法的理解 2 進行程式設計的訓練。二 實驗內容和要求 用高階語言編寫乙個或多個作業排程的模擬程式。單道批處理系統的作業排程程式。作業一投入執行,它就占有計算機的一切資源直到作業完...

作業系統,作業排程演算法參考

作業系統,作業排程演算法參考 include include include include include include include using namespace std const int n 1000 struct task task n tp task n int num 程序數目 ...