天天看點

linux驅動開發--核心空間中記憶體的申請與釋放

1、linux記憶體管理

linux記憶體最小管理機關為頁(page),通常一頁為4kb。

linux系統中,在初始化時,核心為每個實體記憶體頁建立一個page的管理結構,操作實體記憶體時實際上就是操作page頁。

實體位址:出現在cpu位址總線上的尋址實體記憶體的位址信号,是位址變換的最終結果。

線性位址(虛拟位址):在32位cpu架構上,可以表示4g的位址空間,也就是0x00000000-0xffffffff。

邏輯位址:實際上是一個相對位址,是程式代碼經過編譯之後在彙程式設計式中出現的位址。

linux核心位址轉換:出現在機器語言指令(程式編譯後得到的二進制機器碼序列)中的記憶體位址都是邏輯位址,邏輯位址必須被轉換為線性位址,mmu将線性位址轉換成實體位址,最終實作對應實體記憶體的通路。在linux系統中,邏輯位址和線性位址(虛拟位址)是一緻的。

2、執行個體代碼

繼續閱讀