操作系统 (OS) 中的虚拟内存是什么?

2025年3月17日 | 阅读 3 分钟

虚拟内存是一种存储方案,它让用户感觉拥有一个非常大的主内存。这是通过将部分辅助内存视为主内存来实现的。

在这个方案中,用户可以通过拥有可用内存来加载比可用主内存更大的进程,从而产生内存可用的错觉。

操作系统不是将一个大进程加载到主内存中,而是将多个进程的不同部分加载到主内存中。

通过这样做,多道程序的程度将增加,因此,CPU 利用率也将增加。

虚拟内存如何工作?

在现代,虚拟内存已经变得相当普遍。在这个方案中,当一些页面需要加载到主内存中执行,而主内存没有足够的空间容纳这些页面时,操作系统不会阻止这些页面进入主内存,而是寻找最近很少使用或未被引用的 RAM 区域,并将其复制到辅助内存中,为主内存中的新页面腾出空间。

由于所有这些过程都是自动发生的,因此它让计算机感觉拥有无限的 RAM。

请求分页

按需分页是虚拟内存管理的一种流行方法。在按需分页中,进程中很少使用的页面会存储在辅助内存中。

当需要某个页面或发生页面错误时,该页面才会被复制到主内存中。有各种页面替换算法用于确定要替换的页面。我们将在后面详细讨论每一种算法。

虚拟内存管理系统快照

假设有两个进程 P1 和 P2,每个进程包含 4 个页面。每个页面大小为 1 KB。主内存包含 8 个 1 KB 的帧。操作系统驻留在前两个分区中。在第三个分区中,存储了 P1 的第一个页面,其他帧也显示为已填充主内存中进程的不同页面。

这两个页表的每个大小都是 1 KB,因此它们可以分别放入一个帧中。这两个进程的页表包含各种信息,这些信息也显示在图像中。

CPU 包含一个寄存器,其中包含页表的基地址,对于 P1 为 5,对于 P2 为 7。当访问实际对应的条目时,此页表基地址将添加到逻辑地址的页码中。


OS Virtual Memory

虚拟内存的优点

  1. 多道程序的程度将增加。
  2. 用户可以使用较少的真实 RAM 运行大型应用程序。
  3. 无需购买更多内存 RAM。

虚拟内存的缺点

  1. 由于交换需要时间,系统会变慢。
  2. 在应用程序之间切换需要更多时间。
  3. 用户可用于自身使用的硬盘空间将减少。

下一个主题翻译后备缓冲器