- 1、本文档共124页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
workingset以恢复足够的内存-Piazza.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 Tai
您可能关注的文档
- SALESBROCHURE售楼说明书-香港置业.PDF
- SECTION1信托交易结构.PDF
- SecuShare企业分享云-MailCloud.PDF
- SF6局部放电分解组分长光程红外检测.PDF
- SINORAMACORPORATION华景集团私募认购协议-SinoramaBus.PDF
- SkypeforBusiness快速入门指南.PDF
- Smart-UPSRT外部电池柜(使用于3、5、75和10kVAUPS)装配与.PDF
- StudioLive160.2使用说明书.PDF
- SUNHUNGKAIPROPERTIESLIMITED(新鸿基地产发展有限公司).PDF
- SustainableCampus可持续校园36-PolyU.PDF
文档评论(0)