虚拟地址空间划分成段。每段的大小是 256 mb,它是虚拟内存地址空间中一个邻接的部分,数据对象可映射到该空间。
进程对数据的寻址能力按段(或对象)的级别进行管理,所以段既可以在进程间共享,也可以进行专门维护。例如,进程可共享代码段但拥有独立和专用的数据段。
实际内存管理
虚拟内存段划分成固定大小的单元叫做页。缺省页面大小是 4096 字节。某些系统也支持大页面,通常只能通过系统调用 shmat 访问。段中的每页在需要之前可位于实际内存(ram)中,或存储在磁盘上。同样,实际内存也可以划分成 4096 字节的页面帧。vmm 的角色是管理分配实际内存页面帧并且解析程序对虚拟内存页面的引用,这些页面当前不在实际内存中或还不存在(例如,当进程第一次引用其数据段的某一页时)。
因为在任何给定时刻使用的虚拟内存数量可能比实际内存大,所以 vmm 必须将余量存储在磁盘上。从性能的观点来看,vmm 有两个稍微对立的目标:
·最小化使用虚拟内存的总处理器时间和磁盘带宽代价
·最小化缺页故障的响应时间代价
在跟踪这些目标时,vmm 维护一个页面帧的空闲列表,它可用于补偿缺页故障。vmm 使用了一个页面替换算法来确定当前处于内存中的哪些虚拟内存页要将它们的页面帧重新指定到空闲列表中。页面替换算法使用了几个机制:
·虚拟内存段分成持久段或工作段。
·虚拟内存段分成包含计算内存或文件内存。
·跟踪在访问时引起缺页故障的虚拟内存页。
·缺页故障分成新页故障或重新调页故障。
·在每个虚拟内存段中维护一个重新调页故障率的统计信息。
·用户可调阈值影响页面替换算法的结果。
如果喜欢虚拟内存管理器(vmm)性能概述请收藏或告诉您的好朋友.
阅读(354) | 评论(0) | 转发(0) |