计算机逻辑地址到物理地址转换,把逻辑地址转换为物理地址.ppt

把逻辑地址转换为物理地址

* * * * * * * * * * * * * * * * * * * * 考虑以下序列: A B C A B D A D B C B 最优页替换: 缺页: 5 次 Where will D be brought in? Look for page not referenced farthest in future. What will LRU do? Same decisions as MIN here, but won’t always be true! Example: 最优页替换 C D C B A B C B D A D B A C B A 3 2 1 Ref: Page: 考虑以下序列: A B C D A B C D A B C D LRU (same as FIFO here): Every reference is a page fault! 在该例中最优页替换性能好很多: D LRU 性能可能差? C B A D C B A D C B A C B A D C B A D C B A D 3 2 1 Ref: Page: B C D C B A C B A D C B A D C B A D 3 2 1 Ref: Page: Adding memory => 降低缺页率? Yes for LRU and MIN Not necessarily for FIFO! (Belady’s anomaly) After adding memory: With FIFO, contents can be completely different In contrast, with LRU or MIN, contents of memory with X pages are a subset of contents with X+1 Page D C E B A D C B A D C B A E B A D C B A E 3 2 1 Ref: Page: C D 4 E D B A E C B A D C B A E B A D C B A E 3 2 1 Ref: Page: First-In-First-Out (FIFO) Algorithm Reference string: 1, 2, 3, 4, 1, 2, 5, 1, 2, 3, 4, 5 3 frames (3 pages can be in memory at a time per process) 4 frames FIFO Replacement – Belady’s Anomaly more frames (can) ? more page faults (but not generally) 1 2 3 1 2 3 4 1 2 5 3 4 9 page faults 1 2 3 1 2 3 5 1 2 4 5 10 page faults 4 4 3 存在Belady 异常的FIFO替换缺页曲线图 Belady异常 引用串: 1, 2, 3, 4, 1, 2, 5, 1, 2, 3, 4, 5 3 帧 4帧 FIFO 替换算法 – Belady异常 期望: 增加帧数 ? 降低缺页率? 1 2 3 1 2 3 4 1 2 5 3 4 9 page faults 1 2 3 1 2 3 5 1 2 4 5 10 page faults 4 4 3 LRU页替换 内存引用序列: 1, 2, 3, 4, 1, 2, 5, 1, 2, 3, 4, 5 计数器的实现 每一个页表项 有一个计数器,每次页通过这个表项被访问,把记录拷贝到计数器中 当一个页需要改变是,查看计数器来觉得改变哪一个页0 1 2 3 5 4 4 3 5 8 page faults LRU页替换 计数器实现 每个页表项都关联一个使用时间域 需要一个逻辑时钟或计数器,对每次内存引用,计数器都会增加。 每次内存引用时,时钟寄存器的内容都会复制到相应页表项的使用时间域内 进行页替换时,选择具有最小时间(或者计数器值)的页 问题 需要搜索页表 每次内存访问都需要写页表项的使用时间域 上下文切换时需要维护页表 需要考虑时钟溢出 LRU页替换 栈实现 在一个双链表中保留一个记录页数目的栈 最近被访问的页 : 移到栈顶 最坏情况下需要改变6个指针 无需查找,栈底部即是要找的页 理想实现方式: 每次访问记录Timestamp 将页按访问时间排序 实现过于复杂,too expensive Page 6 Page 7 Page 1 Page 2 Head Ta

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值