作業系統學習筆記(6) 程序排程演算法

2021-05-23 23:58:14 字數 1508 閱讀 8953

排程目標:

1。公平性

2。處理機利用率

3。提高系統吞吐量

4。儘量減少程序的響應時間

排程原則:

響應時間、周轉時間、截至時間

系統吞吐量、處理機利用率、資源平衡、公平性、優先順序

程序的排程方式:

非剝奪方式:end、申請io,這種方式不利於「及時性」較高的實時系統和分時系統,主要用於批處理系統。

剝奪方式:時間片完、優先順序低。用於實時、分時、要求較高的批處理系統。

排程型別:

1。批處理排程、分時排程、實時排程和多處理機排程

2。長程排程、中程排程、短程排程

3。i/o排程

長程排程:

作業排程(從外存排程到記憶體),建立了程序後,可能等待短程排程和中程排程。

兩個問題:

1。選擇多少個作業進入記憶體(取決於多道程式的度)

2。選擇哪些作業(取決於長程排程演算法)

短程排程:程序排程

中程排程:掛起狀態程序的排程

目的是提高記憶體利用率和系統吞吐量

程序排程演算法:

-(先來先服務fcfs)

fcfs是非剝奪式

-斷程序不公平

-io型程序不公平

-fcfs與其他演算法混合使用。

-fcfs適合於長、中、短程序。

短程序優先:

屬於非剝奪排程演算法

問題:1。程序執行時間很難**

2。可能導致長程飢渴

3。採用非剝奪排程方式,未考慮程序的迫切程度,不適合分時系統和事務處理系統。

時間片輪轉排程演算法:

時間片的設定:

程序切換會增加系統開銷

綜合考慮系統的最大使用者數、響應時間、系統效率   

這種演算法的平均周轉時間比較長

常用於分時系統及事務處理系統,合理的時間片會帶來滿意的響應時間。

合理的時間片能讓%80左右的程序在乙個時間片內完成。

對於短的、計算型的程序有利,不適合批處理系統。

不利於io型程序。(可以將io型放在較高優先權的佇列)

基於優先順序的排程演算法:

1。基於時間片輪轉排程演算法對於每個程序都是公平的。

2。實際應用中,程序的性質可能不同。

設定優先順序:

程序功能的重要性

程序功能的急迫性

為均衡資源,指定優先順序

程序對資源的占用程度

靜態和動態優先順序:

原則:程序剩餘時間高優先

程序響應比優先

實現:時鐘中斷時計算優先順序

缺點:很難估計剩餘執行時間,增加系統開銷,對於長程序不公平。

響應比:r=(w+s)/s = w/s+1(w-等待時間  s-預期執行時間)

反饋排程演算法:

根據程序執行的歷史,調整排程。

有利於互動式斷程序或短批處理作業。

長程序周轉時間急劇增加

實時系統:

及時響應外部事件,在規定時間內完成。

實時控制系統:

實時資訊處理系統:

作業系統學習筆記 CPU排程

cpu排程的目的在於提高cpu利用率,不讓cpu閒著。cpu是寶貴的資源,如果有乙個程序,本來在cpu中執行,忽然因為要使用io資源,於是轉而請求io,這邊cpu掛起,造成就緒佇列中的其他程序等待,這樣就造成了浪費。一 cpu排程演算法 1 先到先服務 fcfs 誰先請求cpu誰先得到服務,一直到服...

程序排程演算法 作業系統筆記

1 先來先服務 first come first service,fcfs 排程演算法按照程序進入就緒佇列的先後順序選擇可以占用處理器的程序。這是一種不可搶占方式的排程演算法,優點是實現簡單,缺點是後來的程序等待cpu的時間較長。它現今主要用作輔助排程法 例如結合在優先順序排程演算法中使用,當有兩個...

作業系統學習筆記 程序通訊

程序通訊是指程序之間的資訊交換。交換的資訊量包括乙個狀態或數值 訊號量,低階通訊 或上千個位元組 高階通訊 低階通訊 程序的互斥和同步 交換的資訊量 即訊號量 較少 高階通訊 指使用者可直接利用os提供的一組通訊命令 不需要自己編寫命令 高效地傳送大量資料的一種通訊方式。對使用者透明。使用者不需要考...