Linux 程序的排程演算法

2021-08-21 12:34:03 字數 522 閱讀 5143

排程演算法指的是根據系統的資源分配策略所規定的資源分配演算法。對於不同的系統和系統目標,通常採用不同的排程演算法。

1.平均等待時間波動較大

短程序可能排在長程序後面,假如有三個程序,計算時間分別為p1(12),p2(3),p3(3),任務的到達順序為p1,p2,p3,那麼周轉時間就是(12+15+18)/3=15。

若任務的到達順序為p2,p3,p1,則周轉時間為(3+6+18)/3=9,可見平均等待時間波動較大。

2.i/o資源和cpu資源的利用率較低

cpu密集型程序會導致i/o裝置閒置時,i/o密集型程序也等待。

1.可能導致飢餓(連續的短程序流會使得長程序無法獲得cpu資源);

缺點:

1.額外的上下文切換;

2.時間片太大,導致等待時間過長,極限情況退化成fcfs;

3.時間片太小,導致反映迅速,產生大量上下文切換,而大量上下文切換開銷會影響到系統吞吐量。

Linux 程序排程演算法

程序排程 無論是在批處理系統還是分時系統中,使用者程序數一般都多於處理機數 這將導致它們互相爭奪處理機。另外,系統程序也同樣需要使用處理機。這就要求程序排程程式按一定的策略,動態地把處理機分配給處於就緒佇列中的某乙個程序,以使之執行。程序排程具有四條基本屬性和三個基本狀態 基本屬性 1 多型性 從誕...

Linux 程序排程演算法

linux中的程序排程演算法分類如下 一 先來先服務和短作業 程序 優先排程演算法 1 先來先服務排程演算法 fcfs 先來先服務 first come first service fcfs 排程演算法是一種最簡單的 不可搶占式的 排程演算法,既可用於作業排程,也可用於程序排程。該演算法按照程序進入...

linux程序排程演算法

一 什麼是程序排程 都知道linux是一種多使用者多工的作業系統,而當多個程序同時執行去,搶占有限資源的時候,這時作業系統就會按照一定的原則將資源合理分配給請求資源的程序,這就是程序排程。二 在linux作業系統中都有哪些程序排程演算法 1.先進先出演算法 fifo 按照程序進入就緒佇列的先後次序來...