AIX文档——实内存管理

来源:互联网 发布:淘宝助理客服 编辑:程序博客网 时间:2024/05/14 10:53

VMM 在实内存管理中起着重要作用。

虚拟内存段分成固定大小的单元(称为)。缺省页面大小是 4096 字节。某些系统也支持大页面,通常只能通过系统调用shmat 访问。段中的每页在需要之前可位于实内存(RAM)中,或存储在磁盘上。同样,实内存也可以划分成 4096 字节的页面帧。VMM 的角色是管理分配实内存页面帧并且解析程序对虚拟内存页面的引用,这些页面当前不在实内存中或还不存在(例如,当进程第一次引用其数据段的某一页时)。

因为在任何给定时刻使用的虚拟内存数量可能比实内存大,所以 VMM 必须将余量存储在磁盘上。从性能的观点来看,VMM 有两个稍微对立的目标:

  • 最小化使用虚拟内存的总处理器时间和磁盘带宽代价
  • 最小化缺页故障的响应时间代价

在跟踪这些目标时,VMM 维护一个页面帧的空闲列表,它可用于补偿缺页故障。VMM 使用了一个页面替换算法来确定当前处于内存中的哪些虚拟内存页要将它们的页面帧重新指定到空闲列表中。页面替换算法使用了几个机制:

  • 虚拟内存段分成永久段或工作段。
  • 虚拟内存段分成包含计算内存或文件内存。
  • 跟踪在访问时引起缺页故障的虚拟内存页。
  • 缺页故障分成新页故障或重新调页故障。
  • 在每个虚拟内存段中维护一个重新调页故障率的统计信息。
  • 用户可调阈值影响页面替换算法的结果。

原创粉丝点击