操做系统-内存换出

有换入就应该有换出算法

1. get_free_page ?

2. FIFO页面置换

D换A不合适,由于接下来A也要进行使用,因此应该换最近用不到的C合适操作系统

3. MIN页面置换

4. LRU页面置换

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

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

接下来D来了,看哪个数值最小就换出,因此D换入为6,C换出blog

接下来过程相似进程

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

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

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

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

8. Clock算法的分析与改造

也就是缺页不多的状况下,每一个页都访问过,全部的R=1,此时再淘汰页的时候须要扫描一圈,把R=1置换为R=0,而后淘汰当前指针指的那一页,这样就退化成了FIFO硬件

因此再引入一个指针,速度快的用于清除R位程序


9. 小结

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

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

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

实现管理内存为了实现程序可以载入执行

程序执行就是实现进程

相关文章
相关标签/搜索