一.記憶體管理子系統
1.1子系統簡介
注:linux是使用虛拟位址,32位機有4G記憶體空間,被劃分位四個部分,第一個是使用者程式占3G,
然後是核心部分占一G,其中又分為三個部分,一個是直接映射區3G-3G+896M,然後是 VMALLOC區,接着是永久映射區和固定映射線性區。
直接映射區和實體位址是直接的關系,虛拟位址減去3G就是實體位址。
vnllac可以通路高端記憶體也可以通路低端記憶體。
永久映射區是通路高端記憶體的。
固定線性映射區就是和寄存器相關。
二.虛拟位址到實體位址的轉化
三.實體記憶體配置設定
實體記憶體配置設定,在使用mallco等函數時配置設定的都是虛拟位址,隻有在通路這些虛拟位址時才會配置設定實體位址,缺頁異常配置設定方式都是先配置設定虛拟位址。
注意:kmalloc函數是直接通路實體位址,slab機制決定。、
四.linux程序管理