1.程序分為實時程序和非實時程序。
硬實時程序有嚴格的時間限制,某些任務必須在指定的時限內完成。軟實時程序是硬實時程序的一種弱化形式。大多數程序沒有特定時間約束的普通程序。cpu時間分配簡圖如2.1所示。
圖2.1時間片分配cpu時間
搶占式多工處理:各個程序都分配到一定時間段可以移植,當時間到期後,核心會從程序強制手機控制權,被搶占程序的執行時環境都會被儲存起來因此其執行結果不會丟失,恢復時程序環境可完全恢復。
2.程序表示
linux核心及及程序和順序的所有演算法都圍繞乙個名為task_struct的資料結構,其位於include/sched.h中。
linux中task_struct用來控制管理程序,結構如下:
struct task_struct
;
3.linux的資源限制機制
linux提供資源限制機制,其使用了task_struct的rlim陣列,陣列項型別為struct rlimit。
rlim_cur:程序當前的資源限制,即軟限制。
rlim_max:該限制的最大容許值,即硬限制。
setrlimit和getrlimits用於增減和檢查當前限制。表2.3列出了可能的常數及其含義。
表2.3
核心原始碼閱讀(五)程序ID
接著上一節我們繼續學習程序id。在上一節中我們提到了node是乙個雜湊表元素,對於這個雜湊表並未做過多解釋,在這裡我們給出更加詳細的描述。這個雜湊表是為了在給定的命名空間中查詢對應與指定pid數值的pid陣列的pid結構例項。static struct hlist head pid hash 上面的...
怎樣閱讀核心原始碼
1.獲取核心 2.目錄結構 在閱讀原始碼之前,還應知道linux核心原始碼的整體分布情況。現代的作業系統一般由程序管理 記憶體管理 文件系統 驅動程式和網路等組成。linux核心原始碼的各個目錄大致和此相對應,其組成如下 假設相對於linux 2.4.23目錄 arch目錄包括了任何和體系結構相關的...
原始碼分析 一 程序cleos的命令解析
eos版本 4.0 一.程序cleos的作用 cleos,即為client eos。從名字就可以猜出來,它是乙個標準的客戶端程式,而實際上,它也確實為乙個標準的client 準確地說,它具有以下幾個特點 二.原始碼解析 注意最後返回的變數subcommands 是乙個vector型別,使它搖身一變,...