虚拟内存作为内存管理工具

操作系统利用虚拟内存极大地简化了内存管理。每个进程看到的是统一的虚拟地址空间,而物理内存的实际布局完全由内核控制。

四大简化

  • 简化链接:链接器可以为每个程序使用相同的虚拟地址布局(如代码段从地址0x400000开始),无需关心物理内存的分配情况。
  • 简化加载:加载器将可执行文件和共享库映射到虚拟地址空间,只有在代码或数据被实际访问时才会按需加载页面到物理内存。
  • 简化共享:不同进程的虚拟页可以映射到同一个物理页。例如,C标准库的代码只需在物理内存中保留一份,所有进程共享该物理页面。
  • 简化分配:进程请求更多堆空间时,操作系统只需在虚拟地址空间中分配连续的虚拟页,物理页会在首次访问时由缺页机制按需分配。

这种抽象使得操作系统可以灵活地管理物理内存,而应用程序无需了解底层的物理内存布局。

链接到