深入理解虚拟内存管理机制与页面置换算法
1. 虚拟内存概述
虚拟内存(VM)是一种重要的内存管理机制,它将进程的内存空间映射到虚拟内存系统,再映射到存储介质的实际位置。从进程的角度看,其内存是一个连续的块,可按需访问,这要求虚拟内存机制完全透明。进程按所需顺序访问其页面,当请求已换出的页面时会产生延迟,导致页面错误,不过进程会进入阻塞状态,且意识不到虚拟内存系统的活动。
虚拟内存系统能跟踪每个内存页面的真实位置、每个进程使用的页面集以及每个页面的引用计数或其他统计信息。它负责将最需要的内存页面保留在物理内存中,并按需换入其他被访问的页面。物理内存视图反映了内存页面的真实位置,即要么在随机存取存储器(RAM)中,要么在二级存储设备(通常是磁硬盘)上的特殊文件(页面文件)中。
虚拟内存系统的行为具有非确定性,每次实验的结果可能不同,因为磁盘访问顺序、每个进程分配的页面集以及每个页面的具体位置都会有所变化。但总体上,每次实验会呈现出相同的一般行为。
2. 虚拟内存操作
- 页面划分 :内存被划分为多个页面,每个页面有唯一的虚拟内存页面编号。页面可位于物理内存或硬盘的页面文件中,且能根据需要放置到任意编号的物理内存页面或磁盘页面槽中。
- 进程与页面 :进程会使用一个或多个内存页面,这些页面包含实际的程序(指令)和程序使用的数据。
- CPU 访问 :CPU 通过地址和数据总线直接连接到物理内存,可直接访问物理内存中的页面内容。所有内存页面都有永久的虚拟内存页面 ID,可用于跟踪页面
超级会员免费看
订阅专栏 解锁全文

2万+

被折叠的 条评论
为什么被折叠?



