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 所接收的訊...