进程与其他进程共享CPU和主存,存在一个进程写了另一个进程使用的内存,会引发令人迷惑的错误。为了有效的管理内存并减少出错,现代系统提供了一种对主存的抽象概念——虚拟内存。
虚拟内存三个重要能力:
(1)将主存视为磁盘空间的高速缓存,在主存中值保存活动区域,并根据需要在磁盘和主存间来回传送数据,高效利用主存;
(2)为每个进程提供一致的地址空间,屏蔽了对硬件操作管理的细节,简化了内存管理;
(3)保护每个进程的地址空间不被其他进程破坏。
虚拟内存是如何工作的
物理寻址
应用范围:早期的PC、数字信号处理器、嵌入式微控制器、Cray超级计算机等。
虚拟寻址
应用范围:现代系统
虚拟地址与物理地址之间的映射关系:
多个虚拟地址可以指向同一个物理地址,这样共享内存就变得很容易了。