操作系统概念第九版期末复习
第九章 Virtual Memory
虚拟内存是一种不需要将整个进程加载到内存中执行的技术。
加载实际需要的进程部分(并且仅在需要时)有几个好处:
- 程序可以比计算机上物理内存空间更大
- 每个进程只使用总地址空间的部分,因此留给其他程序的内存更多,从而提高了 CPU 利用率和系统吞吐量
- 交换进程所需IO更少,加快速度
虚拟内存允许多个进程共享文件和内存
- 将系统库映射到多个进程的虚拟地址空间来共享
- 将同一内存块映射到多个进程来共享虚拟内存
- 进程页可以在fork() 期间共享,无需复制原始(父)进程的所有页面(写时复制)
虚拟内存需求分页,仅当在程序执行期间要求页面时,才会加载(分页)。
如图所示,使用有效/无效位标记页表中的哪些页被加载到内存中
Page fault
内存中提供所需的页面后,必须从头开始重新启动指令
保持较低的页面故障率非常重要