虚拟地址的生命周期🥰

虚拟地址的生命周期

虚拟地址的生命周期与它所属的进程 (Process) 的生命周期是紧密绑定的。我们可以将其划分为四个主要阶段:

第一阶段:孕育期 (Gestation) — 在编译链接时

第二阶段:诞生期 (Birth) — 在进程创建与加载时

第三阶段:活跃期 (Active Life) — 在进程执行时

第四阶段:消亡期 (Disappearance) — 在进程终止时


虚拟地址的使用范围

理解了生命周期,虚拟地址的使用范围就非常清晰了。

1. 范围的起点:CPU

虚拟地址的“管辖范围”始于中央处理器(CPU)。当一个进程在运行时,CPU内部的程序计数器(PC)存储的是下一条指令的虚拟地址,CPU执行的访存指令(如mov)操作的也都是虚拟地址

2. 范围的终点:内存管理单元(MMU)

虚拟地址的“生命”终结于内存管理单元(MMU)。MMU是CPU内部的一个硬件模块,它的职责就是接收来自CPU核心的虚拟地址,然后通过查询页表(和高速缓存TLB)将其翻译成物理地址。一旦地址离开了MMU,进入到物理地址总线上,它就变成了物理地址。主存(内存条)、内存控制器等硬件只认识物理地址。

3. 范围的边界:进程

虚拟地址最核心的范围限定就是进程 (Process)

总结一下范围:虚拟地址是操作系统为单个进程提供的、在CPU内部使用的一种地址抽象,其有效性由该进程的地址映射表所定义,并在MMU处被转换为物理世界的地址。