欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

操作系统-内存换出

程序员文章站 2022-04-03 22:13:29
有换入就应该有换出 1. get_free_page ? 2. FIFO页面置换 D换A不合适,因为接下来A也要进行使用,所以应该换最近用不到的C合适 3. MIN页面置换 4. LRU页面置换 5. LRU的准确实现,用时间戳 A是第一个时刻使用,B是第二个时刻使用,C是第三个时刻使用,然后又是A ......

有换入就应该有换出

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. 小结

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

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

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

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

程序执行就是实现进程

操作系统-内存换出