当前位置: 移动技术网 > 科技>操作系统>Linux > 操作系统-内存换出

操作系统-内存换出

2020年04月05日  | 移动技术网科技  | 我要评论

有换入就应该有换出

1. get_free_page ?

2. fifo页面置换

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

3. min页面置换

4. lru页面置换

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

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

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

接下来过程类似

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

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

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

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

8. clock算法的分析与改造

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

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


9. 小结

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

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

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

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

程序执行就是实现进程

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网