程序的局部性原理 °减少程序占用内存 °减少挂起时的传输量 °抖动 thrashing 刚刚被换出的页面很快又要用到 CPU忙于调出和调入页面 OS根据最近的历史猜测将来不会用到的页面
程序的局部性原理 • 减少程序占用内存 • 减少挂起时的传输量 • 抖动thrashing – 刚刚被换出的页面很快又要用到 – CPU忙于调出和调入页面 OS根据最近的历史猜测将来不会用到的页面
典型的内存管理格式 虚地址 虚地址 页号偏移量 段号偏移量 页表项 段表项 PM|其他页框号 M其他长度基地址 仅仅分页 仅仅分段 虚地址 修改位 段号页号偏移量 存在位 段表项 页表项 其他长度基地址PM其他页框号 分段和分页结合
典型的内存管理格式 页号 偏移量 P M 其他 页框号 虚地址 页表项 仅仅分页 段号 偏移量 虚地址 段表项 仅仅分段 段号 页号 偏移量 其他 长度 基地址 虚地址 段表项 分段和分页结合 P M 其他 页框号 页表项 P M 其他 长度 基地址 修改位 存在位
页表结构-两级页表 根页表 页面长度4K 页表项4字节 用户页表 用户地址空间 4M 4G
页表结构-两级页表 …… …… …… 用户地址空间 4G 用户页表 4M 根页表 4K 页面长度4K 页表项4字节
两级分页系统的地址转换 10位10位12位 页框偏移量 根页表指针 二级页表 一级页表
两级分页系统的地址转换 10位 10位 12位 根页表指针 + 页框 偏移量 二级页表 一级页表 +
页号偏移量 页框偏移量 页号表项指针 Hash函数 反向页表 Hash表 页表结构一反向页表
页表结构-反向页表 页号 表项 指针 页号 偏移量 页框 偏移量 Hash表 反向页表 Hash函数