如果 RAM 完全填满会发生什么情况

如果 RAM 完全填满会发生什么情况

我有一台 1 GB RAM 的笔记本电脑。我上学的时候,我的计算机老师告诉我RAM 是任何计算机设备的工作空间每当我读到一本计算机入门书时,我都能看到里面印着这句话。只有那时我才决定把它当作事实。突然有一天,当我在膝盖上看电影时,我感到非常惊讶。我在 1 GB 的 RAM 中运行一个大小为 2+GB 的视频文件。“这怎么可能”,我想?如果 RAM 是工作区,它是如何支持视频文件的?我疑惑了一段时间。然后我开始寻找这个谜团的答案。很快我发现了一种叫做虚拟内存负责创造这些奇迹。

从那时起,我开始学习计算机中的内存管理。据我所知,虚拟内存不过是 RAM 和磁盘的组合。如果 RAM 完全填满,那么磁盘的可用空间将成为代理 RAM。这就是我所学到的。即使维基百科这么说吧。虚拟内存将 DASD 上的活动 RAM 和非活动内存结合起来,形成一大段连续的地址。如果这是真的,那么 RAM 就不能被称为系统的工作空间。在这种情况下,系统的工作空间就是虚拟内存。这在实践中可行吗?

我坚信维基百科中的定义是错误的。我仍然相信 RAM 是系统的工作空间。这是因为我认为如果 wiki 定义的虚拟内存真的可行,就不会设计 RAM 和 DASD 之类的变体。如果虚拟内存将主内存和辅助内存合二为一,那么创建它们的目的是什么。从这个角度来看,单个内存实际上就足够了。到目前为止还没有发生这种情况。所以还有更多的事情发生。这使得 RAM 仍然是工作空间,并且实际上不存在这样的虚拟内存。如果它不存在,那么为什么我们有关于它的书籍和定义?

如果 RAM 完全填满,有人能帮我看看计算机内部到底会发生什么吗?

答案1

RAM 完全充满是现代计算机和现代操作系统的正常状态。未充满的 RAM 是浪费的 —— 你不能将其保存以备后用。

操作系统会判断如何最好地使用 RAM 来提供最佳性能。访问 RAM 中的信息比访问磁盘或其他地方的信息更快,因此内存管理器会尽力将“工作集”(工作负载经常访问的信息)保留在 RAM 中。

通常,如果工作负载尝试访问的信息尚未存在,则将其放入 RAM 中。然后,操作系统会尝试将最常访问的信息保留在 RAM 中,以提供最佳性能。RAM 是工作空间。

虚拟内存允许应用程序级代码不关心其操作的信息是否驻留在 RAM 中。操作系统可以根据其对性能影响最小的最佳估计从内存中清除信息,并且可以根据工作负载的需要将缺失的信息“故障转移至 RAM”。

相关内容