- 1、本文档共34页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
启动要处理的指令 给出虚地址 得到页号 该页在主存? 有空闲页框? 缺页中断 执行完该指令 准备执行下条指令 选一页淘汰 从外存读入所需的页 调整存储分配表和页表 重新启动被中断的指令 调整存储分配表和页表 要重写入? 该页写入外存 Y N N Y 硬件 软件 Y N 缺页中断处理 OPT(OPTimal replacement),淘汰未来不用或者很久才会用的 置换算法 FIFO,先换入的先换出 LRU(Least Recently Used),最近最少使用的淘汰出去 LRU近似算法! LRU近似实现: 将时间计数变为是和否 每个页加一个引用位(reference bit) 每次访问一页时,硬件自动设置该位为1 选择淘汰页:扫描该位,是1时清0,并继续扫描;是0时淘汰该页 组织成循环队列较合适! R=1 R=1 R=0 R=1 R=1 R=1 R=0 R=0 R=1 R=0 R=0 R=1 这一实现方法称为Clock Algorithm R=0 R=0 R=0 淘汰 Clock算法的分析与改造 如果缺页很少,会? R=1 R=1 R=1 R=1 R=1 R=1 R=1 R=1 R=1 R=1 R=1 R=1 所有的R=1 指针绕一圈后淘汰当前页, 退化为FIFO! 原因: 记录了太长的历史信息… 怎么办? 定时清除R位… 再来一个扫描指针! R=1 R=1 R=0 R=1 R=1 R=1 R=0 R=0 R=1 R=0 R=0 R=1 用来清除R位,移动速度要快! 用来选择淘汰页,移动速度慢! 更像Clock吧! 第3单元 主存管理 第3节 分页存储管理 什么是分页 地址映射 多级页表 快表 主存扩充 总结 举例 磁盘 页表 物理内存 load [addr] i 缺页中断处理 缺页 重新执行 swap分区 R=1 R=1 R=0 R=1 R=1 R=1 R=0 R=0 R=1 R=0 R=0 R=1 换出 换入 swap分区管理 总结:请求分页过程 请求分页的各种策略 主存分配策略——分页 放置策略——空闲(位示图) 调入策略——请调(缺页时调入) 淘汰策略——时钟算法 第3单元 主存管理 第3节 分页存储管理 什么是分页 地址映射 多级页表 快表 主存扩充 举例 例题 模拟试题1的第三大题的第2小题、第五大题 6-21 总结 分页是一种物理的划分,页框为内存分配单位 分页可以方便的换入换出,有利于提供虚存 分页要防止“抖动”(p136) * 注意”页 内连续页间不一定连续“指的是页而非页面。 旨在克服前4模式因连续和完整要求而导致的内存利用率低、需要用户自己解决程序大空间小问题、装入和交换速度慢等问题。 * * * * 单击此处编辑母版标题样式 第3单元 主存管理 第3节 分页存储管理 什么是页 地址映射 多级页表 快表 举例 物理内存划分成大小相等的页框,内存的分配以页框为单位 页框0 页框1 页框2 页框3 页框4 页框5 页框6 页框7 段0:页3 段0:页0 段0:页2 段0:页1 程序被分割为大小相等的页,放到页框里 0 5 1 1 2 3 3 6 页表 页框/页 0 2 1 3 段、页同时存在:段面向用户/页面向硬件 cs:ip 逻辑地址 0虚拟地址 内存 操作系统段 0 4G 用户代码段 用户数据段 用户栈段 虚拟内存 物理地址 0x7008 对用户是透明的 第3单元 主存管理 第3节 分页存储管理 什么是分页 地址映射 多级页表 快表 举例 段、页同时存在时的重定位(地址翻译) 页框号 保护 5 R 1 R/W 3 R/W 7 R 称为虚拟地址 基址 长度 保护 段号 0x4000 0x0800 R 0 0x4800 0x1400 R/W 1 0xF000 0x1000 R/W 2 0x0000 0x3000 R 3 段号+偏移(cs:ip) 逻辑地址 页号 偏移 偏移 物理地址 物理页号 分页重定位 Offset Page# 0 12 11 15 页中的逻辑地址 页面尺寸(4K) 第几页 mov [0x2240], %eax 页框号 保护 页号 5 R 0 1 R/W 1 3 R/W 2 6 R 3 物理地址: 0x3240 页表指针 0x02 逻辑地址 0x240 240 3 PCB中应有此值 第3单元 主存管理 第3节 分页存储管理 什么是分页 地址映射 多级页表 快表 举例 页目录/页表 页面尺寸通常为4K,4G的虚地址空间,有220个页面 页表需要220行,一个页框放不下? 4 bytes 4 bytes 页目录 页框 多级页表好处:页目录+页表 引入多级页表,页目录常驻内存,不需要映射的逻
文档评论(0)