理解虚拟内存之后,下一步就要回答一个更具体的问题:
程序拿到一个虚拟地址之后,到底是怎么一步步变成物理地址的?
这背后主要依赖分页、页表、MMU 和 TLB 这些机制配合完成。
一、为什么需要分页
如果要求一个进程始终使用连续物理内存,会带来外部碎片严重、分配不灵活等问题。
所以现代操作系统通常采用分页机制:
- 把虚拟地址空间切成固定大小的页
- 把物理内存切成同样大小的页框
这样,一个进程的内容可以分散放在多个物理页框中,而不要求整块连续物理空间。
2026/3/28...大约 4 分钟
理解虚拟内存之后,下一步就要回答一个更具体的问题:
程序拿到一个虚拟地址之后,到底是怎么一步步变成物理地址的?
这背后主要依赖分页、页表、MMU 和 TLB 这些机制配合完成。
如果要求一个进程始终使用连续物理内存,会带来外部碎片严重、分配不灵活等问题。
所以现代操作系统通常采用分页机制:
这样,一个进程的内容可以分散放在多个物理页框中,而不要求整块连续物理空间。