亲宝软件园·资讯

展开

操作系统-内存换出

山丘i 人气:0
有换入就应该有换出 ### 1. get_free_page ? ![](https://img2020.cnblogs.com/blog/1212924/202004/1212924-20200404214650455-204293374.png) ### 2. FIFO页面置换 ![](https://img2020.cnblogs.com/blog/1212924/202004/1212924-20200404214710246-2032969306.png) D换A不合适,因为接下来A也要进行使用,所以应该换最近用不到的C合适 ### 3. MIN页面置换 ![](https://img2020.cnblogs.com/blog/1212924/202004/1212924-20200404214717350-1465658046.png) ### 4. LRU页面置换 ![](https://img2020.cnblogs.com/blog/1212924/202004/1212924-20200404214744382-632729200.png) ### 5. LRU的准确实现,用时间戳 A是第一个时刻使用,B是第二个时刻使用,C是第三个时刻使用,然后又是A第四个时刻使用,然后是B第五个时刻使用,此时对应的是A:4、B:5、C:3 接下来D来了,看哪一个数值最小就换出,所以D换入为6,C换出 接下来过程类似 ![](https://img2020.cnblogs.com/blog/1212924/202004/1212924-20200404214807735-230127532.png) ### 6. LRU准确实现,用页码栈 ![](https://img2020.cnblogs.com/blog/1212924/202004/1212924-20200404214824726-1215820259.png) ### 7. LRU近似实现-将时间计数变为是和否 每次访问一页时,硬件自动设置该为1 当选择淘汰页的时候,扫描该位,发现是1就清0,并向下继续扫描,当发现是0的时候就淘汰 ![](https://img2020.cnblogs.com/blog/1212924/202004/1212924-20200404214840388-142824192.png) ### 8. Clock算法的分析与改造 也就是缺页很少的情况下,每个页都访问过,所有的R=1,此时再淘汰页的时候需要扫描一圈,把R=1置换为R=0,然后淘汰当前指针指的那一页,这样就退化成了FIFO 所以再引入一个指针,速度快的用于清除R位 ![](https://img2020.cnblogs.com/blog/1212924/202004/1212924-20200404214855101-2086690275.png) ![](https://img2020.cnblogs.com/blog/1212924/202004/1212924-20200404214858839-1954837864.png) ### 9. 小结 **实现换入换出为了实现虚拟内存,** **实现虚拟内存为了实现段页结合,** **实现段页结合为了实现操作系统管理内存** **实现管理内存为了实现程序能够载入执行** **程序执行就是实现进程** ![](https://img2020.cnblogs.com/blog/1212924/202004/1212924-20200404214913457-1451522545.png)

加载全部内容

相关教程
猜你喜欢
用户评论