本文概述
虚拟内存是一种存储方案, 可为用户提供一个拥有很大主内存的错觉。这是通过将辅助存储器的一部分作为主存储器来完成的。
在这种方案中, 用户可以幻想内存可以用来加载进程, 从而可以加载比可用主存储器更大的进程。
操作系统没有在主存储器中加载一个大进程, 而是在一个主存储器中加载了一个以上进程的不同部分。
通过这样做, 将增加多编程的程度, 因此, CPU利用率也将增加。
虚拟内存如何工作?
用现代的话来说, 虚拟内存近来已经很普遍了。在这种方案中, 每当需要将一些页面加载到主存储器中以供执行而该内存对于许多页面都不可用时, 则在这种情况下, 操作系统会停止将这些页面输入到主存储器中, 而不是搜索将最近使用最少的RAM区域或未引用的RAM区域复制到辅助存储器中, 以在主存储器中为新页腾出空间。
由于所有此线程都是自动进行的, 因此使计算机感觉好像它具有无限的RAM。
按需分页
按需分页是一种流行的虚拟内存管理方法。在按需分页中, 使用最少的进程的页面将存储在辅助存储器中。
当有需求或发生页面错误时, 页面将被复制到主存储器。有多种页面替换算法, 用于确定要替换的页面。我们稍后将详细讨论其中的每一个。
虚拟内存管理系统快照
让我们假设2个进程P1和P2各自包含4页。每个页面大小为1 KB。主存储器包含8个帧, 每个1 KB。操作系统位于前两个分区中。在第三分区中, 存储了P1的第一页, 其他帧也显示为由主存储器中的不同进程页填充。
这两个页面的页面表每个都是1 KB, 因此每个页面都可以放在一个框架中。这两个线程的页表都包含各种信息, 该信息也在图像中显示。
CPU包含一个寄存器, 该寄存器包含页表的基地址, 在P1情况下为5, 在P2情况下为7。当访问实际的对应条目时, 此页表基地址将添加到逻辑地址的页号中。
虚拟内存的优势
- 多重编程的程度将提高。
- 用户可以使用较少的实际RAM运行大型应用程序。
- 无需购买更多的内存RAM。
虚拟内存的缺点
- 由于交换需要时间, 因此系统变慢。
- 在应用程序之间进行切换需要花费更多时间。
- 用户将拥有较少的硬盘空间供其使用。
评论前必须登录!
注册