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