Linux核心學習筆記 12 程序排程

2021-10-08 14:21:34 字數 716 閱讀 5385

所謂排程:就是從就緒佇列中選擇乙個程序,投入cpu執行。

排程的主戰場:就緒序列; 核心:排程演算法; 實質性的動作:程序的切換

對於以時間片排程為主的排程,時鐘中斷就是驅動力,確保每個程序在cpu上執行一定的時間。

在排程的過程中,使用者還可以通過系統呼叫nice來調整優先順序,比如降低自己的優先順序等。當然也涉及程序狀態的轉換。新建立的程序就加入到就緒佇列中,退出的程序就從佇列中刪除。

從上圖還可以看出,cpu的所有程序都存放在乙個就緒佇列中,從中選中乙個程序進行排程的過程,實際上是從佇列上的一種線性查詢的過程,因此其演算法複雜度為o(n),詳細排程過程/**分析,參照教材3.4節程序的排程

在程序的排程演算法中,優先順序是很重要的因素。可以從兩個角度來看優先順序。

普通優先順序從-20~19,數值越小,優先順序越高。通過改變nice值,可以改變普通程序占用cpu

Linux核心學習筆記三 程序排程

程序排程 在可執行態程序之間分配有限處理器時間資源的核心子系統。1 程序型別 i o消耗型程序 大部分時間用來提交i o請求或是等待i o請求,經常處於可執行狀態,但執行時間短,等待請求過程時處於阻塞狀態。如互動式程式。處理器消耗型程序 時間大都用在執行 上,除非被搶占否則一直不停的執行。綜合型 既...

linux核心學習筆記 六 程序排程

linux 核心程序排程 linux 核心筆記 程序排程 linux 核心筆記 程序排程 4 程序排程示意圖 linux的程序排程如圖1所示。5 smp系統的排程 smp系統中的排程演算法的不同主要表現在排程演算法的最後,對於被切換出當前cpu執行權的程序呼叫了schedule tail函式,目的是...

Linux核心學習筆記三 程序排程

程序排程 在可執行態程序之間分配有限處理器時間資源的核心子系統。1程序型別 i o消耗型程序 大部分時間用來提交i o請求或是等待i o請求,經常處於可執行狀態,但執行時間短,等待請求過程時處於阻塞狀態。如互動式程式。處理器消耗型程序 時間大都用在執行 上,除非被搶占否則一直不停的執行。綜合型 既是...