📌  相关文章
📜  虚拟内存

📅  最后修改于: 2020-12-15 03:43:14             🧑  作者: Mango

虚拟内存

虚拟内存是一种存储方案,可为用户提供拥有很大主内存的错觉。这是通过将辅助存储器的一部分作为主存储器来完成的。

在这种方案中,用户可以幻想内存可用于加载进程,从而可以加载比可用主内存更大的进程。

操作系统没有在主存储器中加载一个大进程,而是在一个主存储器中加载了一个以上进程的不同部分。

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

虚拟内存如何工作?

用现代的话来说,虚拟内存近来已经很普遍了。在这种方案中,每当需要将一些页面加载到主存储器中以供执行而该内存对于许多页面均不可用时,则在这种情况下,操作系统会停止搜索页面而不是将其输入到主存储器中将最近使用最少的RAM区域或未引用的RAM区域复制到辅助存储器中,以在主存储器中为新页腾出空间。

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

需求分页

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

当有需求或发生页面错误时,页面将被复制到主存储器。有多种页面替换算法,用于确定要替换的页面。我们稍后将详细讨论其中的每一个。

虚拟内存管理系统快照

让我们假设2个进程P1和P2各自包含4页。每个页面大小为1 KB。主存储器包含8帧,每个1 KB。操作系统位于前两个分区中。在第三分区中,P1的第1页被存储,并且也示出的其他帧作为填充有在主存储器中的不同的页的处理。

两个页面的页面表每个均为1 KB,因此每个页面都可以放入一个框架中。这两个过程的页表都包含各种信息,该信息也在图像中显示。

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

虚拟内存的优势

  • 多重编程的程度将提高。
  • 用户可以使用较少的实际RAM运行大型应用程序。
  • 无需购买更多的内存RAM。

虚拟内存的缺点

  • 由于交换需要时间,因此系统变慢。
  • 在应用程序之间进行切换需要花费更多时间。
  • 用户将拥有较少的硬盘空间供其使用。