Linxu核心設計與實現 第4章 程序排程

2021-08-13 21:36:24 字數 846 閱讀 3678

主要內容

(1)程序排程:是確保核心穩定工作的乙個核心子系統。在可執行態程序之間分配有限的處理器資源的核心子系統。

(2)作用:程序排程決定將哪個程序投入執行,何時執行,執行多長時間。

(3)效果:通過合理的排程,系統資源才能最大限度的發揮,多程序才會有併發執行的效果。

(4)限制:只要有可執行的程序,那麼總會有程序在執行。可執行程序比處理器個數多,就注定某乙個時刻就程序不能執行。

(5)基本工作:在可執行狀態的程序中選擇乙個程序來執行,是排程程式的基本任務。

(1)定義:能同時併發地互動執行多個程序的作業系統

(2)作用:無論單處理器還是多處理器,多工作業系統可以使多個程序處於堵塞或者休眠狀態。

(3)多工系統分類:

(4)排程程式決定什麼時候停止乙個程序的執行,以便其它程序得到執行計畫,這個強制掛起的動作就是搶占。

(5)程序時間片:程序在被搶占前的執行時間,稱為時間片,時間片是分配給每個可執行程序的處理器時間段。

(6)有效管理時間片能使排程程式從系統全域性的角度做出排程決定,避免個別程序獨佔系統資源。

(7)目前現代作業系統多採用動態時間片的計算方式,並引入可配置的計算策略。linux獨一無二的「公平」排程程式,並沒有採取時間片來達到公平排程。

(8)非搶占,只能由程序自身主動讓步,來提前結束本程序執行,某個程序可能超出使用者預計時間,容易使系統崩潰。

(1)2.4及之前核心版本,排程程式十分簡陋,無法在以下環境執行。

(2)o(1)排程器

(3)反轉樓梯最後期限排程演算法(rsdl):

將公平排程的概念進入linux排程程式,在2.6.23中替代o(1)排程演算法,此刻被稱為「完全公平排程演算法(cfs)」。

Linxu核心設計與實現 第2章 從核心出發

主要內容 linux核心基本知識 www.kernel.org git clone git git pull 核心發布 patch p1 patch x.y.z 目錄說明 arch 特定體系結構的 block 塊裝置i o層 crypo 加密api documentation 核心原始碼文件 dri...

Linxu核心設計與實現 第5章 系統呼叫

使用者程序與核心互動的介面,使應用程式受限的訪問硬體裝置,提供了建立新程序並與已有程序通訊的機制,也提供了申請作業系統其它資源的能力。應用程式發出請求,核心來滿足這些請求,或者返回乙個錯誤。1 系統呼叫在使用者空間和硬體裝置之間新增了乙個中間層 為使用者空間提供抽象的介面 保證了系統的穩定與安全 2...

《Linux核心設計與實現》 第4章(程序排程)

排程程式 在可執行態程序之間分配有限處理器時間資源的核心子系統 多工作業系統 同時併發地互動執行多個程序的作業系統 linux提供了搶占式的多工模式,對程序強制的掛起動作即搶占 程序可分為 i o消耗型 和 處理器消耗型 i o消耗型指程序的大多數時間用來提交i o請求或等待i o請求 處理器消費型...