Linux核心之程序位址空間

2022-09-17 14:51:15 字數 386 閱讀 8049

核心是作業系統中優先順序最高的成分;

核心信任自己;

核心總是盡量推遲給使用者態程序分配動態記憶體;

核心必須能隨時準備捕獲使用者態程序引起的所有定址錯誤;

當使用者態程序請求動態記憶體時, 並沒有會的請求頁框, 而僅僅獲得對乙個新的線性位址區間的使用權, 而這一線性位址區間就稱為程序位址空間的一部分, 這一區間叫作線性區;

缺頁議程處理程式在推遲給程序分配頁框中所起的作用;

程序的位址空間

記憶體描述符

缺頁異常處理程式

線性區描述符可以讓缺頁異常處理程式非常有效地完成它的工作;

請求調頁: 程序開始執行的時候並不訪問其位址空間中的全部位址, 實際上, 有一部分位址也許永遠不會被程序使用;

建立程序的位址空間

Linux核心之程序位址空間

程序使用的是虛擬記憶體中的位址,也叫線性位址,由作業系統協助相關硬體 如mmu 對映到實體地址。線性位址是通過頁表 page table 對映到物理記憶體,頁表由作業系統維護並被處理器引用。核心空間在頁表中擁有較高特權級,因此使用者態程式試圖訪問這些頁時會導致乙個頁錯誤。在linux中,核心空間是持...

深入理解Linux核心 程序位址空間

給核心分配記憶體和給使用者態程序分配記憶體是有區別的 1 核心的優先順序最高,如果某個核心函式請求動態記憶體,不會被延時 2 核心信任自己,不必保護措施 3 使用者態程序對動態記憶體的請求被認為不是緊迫的,總是被盡量推遲分配 4 使用者程序總是不可信任的 程序的位址空間 1 由允許程序使用的全部線性...

linux 程序位址空間

乙個linux程序的虛擬位址空間分布如下圖所示,分為使用者空間和核心空間,對於乙個32位作業系統來說,4gb的空間分成兩部分,低位址的0 3g給使用者空間,高位址的3g 4g給核心空間 2.1 唯讀資料段 rodata,又叫做常量資料段 存放唯讀資料 字串常量和const修飾的全域性變數 const...