计算机系统之虚拟内存VM

xiaoxiao2021-02-28  23

一、虚拟内存提出的背景

一个系统中的进程是和其他进程共享CPU和资源的,然而共享主存的方式会面临太多的挑战。随着对CPU需求的增长,进程会以某种平滑的方式慢下来。然而,如果太多的进程需要太多的主存,那么其中的一些进程就无法运行。这里可以联想一下手机用久了,在同时运行了很多APP的情况下,再打开一些APP,系统会提示应用程序无法打开。当然,移动端主要针对的是运行内存,即RAM。内存很容易被破坏。如果一个进程不慎写入了另一个进程的内存,该程序就可能以某种和逻辑无关的令人迷惑的方式失败。

二、虚拟内存(VM)

虚拟内存是一个针对主存的抽象概念,旨在更有效的管理主存并且尽可能避免出错。 虚拟内存是硬件异常,硬件地址翻译,主存,磁盘文件和内核软件的完美交互。它为每个进程提供了一个大的,一致的和私有的地址空间。

虚拟内存的三个重大的能力 1.将主存看成是存储在磁盘地址空间上的高速缓存,在主存中只保留活动区域,并根据需要在磁盘和主存间来回传递数据。通过这种方式,高效的使用了主存。 2.为每个进程提供了一致的内存空间,从而简化了内存管理。 3.保护了每个进程的地址空间不被别的进程破坏。VM系统通过把虚拟内存分割为虚拟页作为存储单元, 在任意时刻,虚拟页面的集合都可以分为三个不相交的子集: 1)未分配的:VM系统还未创建的页 2)未缓存的:当前未存储在物理内存的已分配页 3)缓存的:当前已存储在物理内存中的已分配页

转载请注明原文地址: https://www.6miu.com/read-850029.html

最新回复(0)