VMM 在实内存管理中起着重要作用。 虚拟内存段分成固定大小的单元(称为页
)。缺省页面大小是 4096 字节。某些系统也支持大页面,通常只能通过系统调用shmat
访问。段中的每页在需要之前可位于实内存(RAM)中,或存储在磁盘上。同样,实内存也可以划分成 4096 字节的页面帧。VMM 的角色是管理分配实内存页面帧并且解析程序对虚拟内存页面的引用,这些页面当前不在实内存中或还不存在(例如,当进程第一次引用其数据段的某一页时)。 因为在任何给定时刻使用的虚拟内存数量可能比实内存大,所以 VMM 必须将余量存储在磁盘上。从性能的观点来看,VMM 有两个稍微对立的目标: 在跟踪这些目标时,VMM 维护一个页面帧的空闲列表
,它可用于补偿缺页故障。VMM 使用了一个页面替换算法来确定当前处于内存中的哪些虚拟内存页要将它们的页面帧重新指定到空闲列表中。页面替换算法使用了几个机制: