CSAPP|操作系统笔记

CSAPP [字体···] [宽度···]

虚拟内存

什么是虚拟内存,虚拟内存是物理内存的一个抽象,对于每个进程来说看到的虚拟内存都是一致的,它认为只有自己在使用内存,即虚拟地址空间。

虚拟地址转换物理地址需要地址翻译机构。

进程虚拟地址空间,地址从下到上递增

如上图,对于一个物理内存被划分成多个部分。

  • 程序代码和数据
  • 堆。程序运行期间创建的数据,调用 malloc 和 free 可以动态调整数据区域的大小
  • 共享库。存放 C 标准库、数学库的功效数据区域。
  • 栈。实现函数调用
  • 内核虚拟内存