5.1.Linux內核系統體系結構
5.2、內存管理
5.2.1、物理內存
由於計算機系統中實際物理內存有限,因此有內存管理系統:分段系統(Segmentation System)和分頁系統(Paging System)分頁系統是可選擇的。
5.2.2 內存地址概念
Virtual Address(虛擬地址)由段選擇符和段內偏移地址組成,虛擬地址空間由GDT映射的全局地址空間和LDT映射的局部地址空間組成
Logical Address(邏輯地址)與段相關的偏移地址部分組成。
Linear Address(線性地址)是虛擬地址到物理地址變換之間的中間層,是處理器可尋址的內存空間中的地址。
Physical Address(物理地址)是出現在CPU外部地址總線上的尋址物理內存的地址信號,是地址變換的最終結果地址。
虛擬地址空間分配圖
任務狀態段TSS(Task State Segment)是由GDT中描述符定義的一個內存段,用於在任務切換時CPU自動保存或恢複相關任務的當前執行上下文(CPU當前狀態)。
內存分頁管理
基本原理:將CPU整個線性內存區域劃分成4096字節爲1頁的內存頁面。
控制寄存器CR3保存着當前頁目錄表在物理內存中的基地址(PDBR)。線性地址被分爲:頁目錄項和頁表項以及對於的偏移位置。4K*1024*1024=4G