专注于 JetBrains IDEA 全家桶,永久激活,教程
持续更新 PyCharm,IDEA,WebStorm,PhpStorm,DataGrip,RubyMine,CLion,AppCode 永久激活教程

操作系统-内存换出

有换入就应该有换出

1. get_free_page ?

78_1.png

2. FIFO页面置换

78_2.png

D换A不合适,因为接下来A也要进行使用,所以应该换最近用不到的C合适

3. MIN页面置换

78_3.png

4. LRU页面置换

78_4.png

5. LRU的准确实现,用时间戳

A是第一个时刻使用,B是第二个时刻使用,C是第三个时刻使用,然后又是A第四个时刻使用,然后是B第五个时刻使用,此时对应的是A:4、B:5、C:3

接下来D来了,看哪一个数值最小就换出,所以D换入为6,C换出

接下来过程类似

78_5.png

6. LRU准确实现,用页码栈

78_6.png

7. LRU近似实现-将时间计数变为是和否

每次访问一页时,硬件自动设置该为1

当选择淘汰页的时候,扫描该位,发现是1就清0,并向下继续扫描,当发现是0的时候就淘汰

78_7.png

8. Clock算法的分析与改造

也就是缺页很少的情况下,每个页都访问过,所有的R=1,此时再淘汰页的时候需要扫描一圈,把R=1置换为R=0,然后淘汰当前指针指的那一页,这样就退化成了FIFO

所以再引入一个指针,速度快的用于清除R位

78_8.png
78_9.png

9. 小结

实现换入换出为了实现虚拟内存,

实现虚拟内存为了实现段页结合,

实现段页结合为了实现操作系统管理内存

实现管理内存为了实现程序能够载入执行

程序执行就是实现进程

78_10.png

文章永久链接:https://tech.souyunku.com/37191

未经允许不得转载:搜云库技术团队 » 操作系统-内存换出

JetBrains 全家桶,激活、破解、教程

提供 JetBrains 全家桶激活码、注册码、破解补丁下载及详细激活教程,支持 IntelliJ IDEA、PyCharm、WebStorm 等工具的永久激活。无论是破解教程,还是最新激活码,均可免费获得,帮助开发者解决常见激活问题,确保轻松破解并快速使用 JetBrains 软件。获取免费的破解补丁和激活码,快速解决激活难题,全面覆盖 2024/2025 版本!

联系我们联系我们