操作系统中的虚拟内存:它是什么以及它是如何工作的
已发表: 2022-04-22作为个人,我们总是在生活的不同领域中兼顾工作。 当我们在电脑上工作时也是如此。 我们一次加载多个应用程序或浏览器选项卡。
但是,RAM(存储正在运行的应用程序的内存部分)是有限的。 因此,当 RAM 最终耗尽时,加载应用程序存在限制。 这就是计算机体系结构中的虚拟内存的用武之地。

它是任何操作系统的一个功能,其中一部分辅助内存被临时视为额外的 RAM。 通过这种方式,虚拟内存可以弥补实际 RAM 的不足。
考虑到当今应用程序的复杂性和大小,虚拟内存非常重要。 让我们讨论一下虚拟内存是什么,并更好地理解这个概念。
什么是操作系统 (OS) 中的虚拟内存:概述
虚拟内存或虚拟 RAM 是一种由任何操作系统 (OS) 进行内存管理的机制,其中一部分辅助或易失性内存暂时被视为主内存。 它通过将最近未使用的数据从 RAM 交换到磁盘存储(如硬盘驱动器或固态驱动器)来实现这一点。 当需要数据时,会将其复制回原始 RAM。
当 RAM 运行不足并且多个进程同时进行时,就会发生这种情况。 虚拟存储使用户能够加载比实际可用的主内存更大的计算过程,因此它对大型程序有利。 操作系统还能够在主存储器中加载不同进程的不同部分,这是多任务处理所必需的。
但是,如果需要经常交换数据,您的计算机系统可能会变慢。 虚拟内存通常通过需求分割和需求分页来实现。 需求分页的知识对于解释虚拟内存实现是必不可少的。
基本术语
程序:一组用于在计算机中执行任务的指令
进程:操作系统中的进程是用于顺序执行程序代码的任何活动。
线程:程序执行期间遵循的路径。 操作系统具有多线程能力,可以最佳地管理一个用户的多个请求。
页:在操作系统中,内存被划分为称为页的单元。 这些页面用于存储程序。
推荐阅读:什么是存储设备以及它们如何工作
什么是按需分页?
需求分页是将计算过程中的所有页面存储在辅助内存中以进行虚拟内存管理的过程。 在实际需求之前很难预测哪些页面应该是主内存的一部分,哪些页面应该在虚拟内存下。 因此,没有预先将页面加载到主存储器中。
在主存储器中,当一个页面最初被引用时,它将出现在辅助存储器中。 要替换的页面是通过不同的可用页面替换算法确定的。 因此,该页面稍后可能在主存储器中可用,也可能不可用。
仅加载此时计算过程所需的页面,并且根据需要或不希望的页面错误发生时交换其他页面。 虚拟内存通常是通过这种技术实现的。
解释在操作系统中工作的虚拟内存

既然您知道操作系统中的虚拟内存是什么,那么让我们也了解它的工作原理。
每当在进程执行过程中,需要加载的程序无法使用主内存时,操作系统(OS)就会自动腾出空间以页面的形式存储这些程序。
它通过将 RAM 中使用最少或引用最少的区域复制到辅助内存的一部分来实现此目的。 因此,您的虚拟内存由这些数据组成。
当需要某个部分或页面时,将其加载到主存储器中。 操作系统将具有定义数量的地址的内存划分为交换文件或页面文件。 它的内存管理单元在复制数据时将虚拟地址转换为真实地址。
内存管理器跟踪物理内存和虚拟内存之间的所有转换。 这样,无法完全加载到物理内存中的进程也会被执行。
推荐阅读:2022 年 12 款最佳免费 Android 数据恢复软件列表
例如,假设 RAM 上有 X MB 可用物理内存,但操作系统需要 Y MB 更多内存来存储正在运行的程序。 然后,操作系统将设置 Y MB 的虚拟内存并对其进行寻址。 硬盘或 SSD 上的 Y MB 大小的文件将存储额外的内存。 虚拟内存的大小取决于可用的磁盘存储。
如果计算机体系结构中的虚拟内存开始不足,您可能需要增加页面文件的大小或购买额外的 RAM。
如何管理操作系统中的虚拟内存?

虚拟内存由用作附加 RAM 的磁盘存储组成。 可在操作系统中为进程和应用程序定义为虚拟内存的硬盘空间量由默认设置决定。
但是,如果您有多个依赖快速响应时间的硬盘或应用程序,您可以通过重置磁盘空间分配量手动在操作系统中进行虚拟内存管理。
对于那些想知道如何在手动重置中增加虚拟内存的人,您必须指定最大和最小驱动器空间量。 它必须是一个最佳范围,以确保虚拟内存足以满足您的系统需求。
检查系统上的 RAM 大小以了解虚拟 RAM 的最佳范围是多少。 虚拟内存的大小取决于为您的操作系统推荐的实际 RAM 值的时间。 例如,它是 Windows 操作系统中实际 RAM 大小的 1.5 到 3 倍。 但是,如果操作系统中的虚拟内存管理不能满足您的要求,您应该考虑添加 RAM。
要了解如何更好地增加虚拟内存,让我们以 Windows 操作系统为例。

要在 OS 中定义虚拟内存,步骤如下:
- 导航到开始 > 设置。
- 在搜索栏中,输入性能
- 选择调整 Windows 的外观和性能。 将出现一个窗口。
- 选择高级选项卡
- 在虚拟内存部分下,选择更改。
- 在窗口中,取消选中自动管理所有驱动器的分页文件大小框。
- 点击自定义尺寸。
- 在初始大小和最大大小框中输入值。
- 单击确定以保存新的虚拟内存范围定义。
建议阅读:什么是实用软件:2022 年十大实用软件示例
操作系统中的虚拟内存与物理内存
不与物理内存比较,虚拟内存的含义是不完整的。 当物理内存(RAM)被填满时,作为辅助内存一部分的虚拟内存被操作系统使用。 两种内存类型之间的一些主要区别是:
范围 | 虚拟内存 | 物理内存 |
定义 | 一段辅助内存充当虚拟存储 | 主内存:主 RAM 和辅助 HDD/SSD |
目的 | 存储 RAM 在需要时可以使用的数据 | 用于活动程序的主存储器和用于存储的辅助存储器 |
速度 | 慢的 | 快速地 |
成本 | 降低 | 更高 |
尺寸 | 取决于硬盘驱动器/ SSD 的大小 | 取决于 RAM 芯片; 可以购买和安装额外的芯片 |
使用的技术 | 分页和分段 | 交换 |
访问 CPU | 不直接,通过 RAM | 直接的 |
操作系统中虚拟内存的优势
计算机中的虚拟内存有几个好处。 虚拟内存管理中使用的技术也适用于需要更多资源而不是拥有更好性能的虚拟机。 此处讨论了虚拟 RAM 的一些主要优点:
低成本的额外内存分配 |
数据隔离加密,安全性高 |
通过一次运行更多进程来提高 CPU 利用率 |
多道程序变得更容易 |
可以运行大型程序并一次加载更多应用程序 |
操作系统中虚拟内存的缺点
使用虚拟 RAM 也有一些缺点。 要了解虚拟 RAM 的有效性,您必须了解它们。
需要额外的硬件来进行地址转换 |
降低系统稳定性 |
减少可用的硬盘存储空间 |
大小受可用辅助内存量的限制 |
由于应用程序之间的切换速度较慢而导致性能下降 |
推荐阅读:什么是实用程序及其功能?
结论
既然您知道操作系统中的虚拟内存是什么,您就可以决定多任务处理的最佳方法。 在权衡系统的利弊之后,可以决定是否要购买额外的 RAM 或手动设置虚拟内存范围。
常见问题
- 什么是虚拟内存,它是如何工作的?
虚拟内存是辅助内存中分配为 RAM 的空间。 当实际 RAM 被填满以读取和写入进程和程序的数据时,操作系统会分配虚拟内存。
- 为什么需要虚拟内存?
当 RAM 被填满并且您不想以额外的成本购买额外的 RAM 时,需要虚拟内存来增加主内存中的可用空间。 这使用户可以轻松运行大型程序并进行多任务处理。
- 虚拟内存比 RAM 快吗?
不,虚拟内存比 RAM 慢,因为它是辅助内存的一部分,读/写操作需要时间。
- 什么是PC的虚拟内存?
PC 的虚拟内存是在固态驱动器 (SSD) 或硬盘驱动器上分配的空间,用作主动运行应用程序和程序的额外 RAM。
- 虚拟内存中发生了什么?
在虚拟内存中,存储了 RAM 中不立即需要的数据。 每当一个进程需要数据时,它就会被复制回 RAM。
- 虚拟内存如何影响性能?
使用虚拟内存有助于轻松运行大型程序。 但是,与 RAM 相比,它会降低 PC 的速度,从而影响性能。
- 什么是虚拟内存示例?
一个虚拟内存示例是您一次运行多个应用程序时。 例如,在刷新电子邮件的同时运行电子表格软件和图像处理软件。
- 虚拟内存如何提高安全性?
虚拟内存中的数据被加密并与其他数据隔离。 这可以防止应用程序和个人意外访问敏感信息。
- 虚拟内存有效吗?
是的,虚拟 RAM 为大型程序腾出空间并有助于有效管理任务。
- 如何管理虚拟内存?
在您的设备中,导航至开始 > 设置 > 控制面板。 双击系统图标后转到系统属性对话框。 选择高级选项卡>性能选项。 单击虚拟内存下的更改。 该值必须介于设备上实际 RAM 量的 1.5 到 3 倍之间。
相关类别:操作系统 | 服务器操作系统 | 服务器解决方案 | 应用虚拟化