深入理解Linux核心3

2021-08-10 03:50:46 字數 362 閱讀 1819

unix核心提供了應用程式可以執行的環境,因此,核心必須實現一組服務及相應的介面。應用程式使用這些介面而不會跟硬體資源直接互動。

啟用核心例程的幾種方式

核心恢復乙個程序執行時,用程序描述符中的合適字段裝載cpu暫存器

等待狀態可能會有很多,有程序描述符佇列實現、

自旋鎖(檢查訊號量耗時多,對於時間較短的操作較低效)

避免死鎖

重點 - 虛擬記憶體

- 隨機訪問儲存器ram的使用

- 核心記憶體分配器kma

- 程序虛擬位址空間處理,調頁分配策略

- 快取記憶體

- 裝置驅動程式

深入理解Linux核心 核心同步

核心基本的同步機制 搶占核心的主要特點 乙個在核心態執行的程序,可能在執行核心函式期間被另外乙個程序取代。核心搶占 linux 2.6允許使用者在編譯核心的時候配置十分啟用 程序臨界區 每個程序中訪問臨界資源 一次僅允許乙個程序使用的共享資源 的那段 稱為臨界區。優化屏障 保證編譯程式不會混淆放在原...

深入理解linux核心手記

linux的段式管理是對應於程式結構的,是一種自然的想法,linux共有6個段暫存器,其中有3個專門的段暫存器 cs 段暫存器 ss 程式棧段暫存器 ds 資料段暫存器 程式需要6個段 bss 存放未初始化資料,只有名稱和大小 段 資料段 存放已初始化資料 棧段,堆段。段式管理段缺點 相比喻頁式管理...

深入理解Linux核心 程序

1 程序的靜態特性 程序 程式執行時的乙個例項 程序描述符 task struct 程序的基本資訊 thread info 指向記憶體區描述符的指標 mm struct 程序相關的tty tty struct 當前目錄 fs struct 指向 檔案描述符的指標 files struct 所接收的訊...