美文网首页操作系统操作系统原理
操作系统_页面置换算法

操作系统_页面置换算法

作者: Corbin___ | 来源:发表于2017-06-06 00:44 被阅读50次
  • 最佳置换算法
  • 先进先出(FIFO)置换算法
  • 最近最少未使用(LRU)算法

1.最佳置换算法(理想化算法)

淘汰最久不被访问的页面
例题:
系统为某进程分配3个物理块,进程访问页面的顺序是0,7,6,5,7,4,7,3,5,4,7,4,5,6,5,7,6,0,7,6

访问页面 0 7 6
物理块 0 0 0
7 7
6

接下来,最佳置换算法的语法就是淘汰最久不被访问的,所以下一个进入的数字是5
(为什么是5,因为看到题目的进程访问页面顺序了吗,就是按着0,7,6,5,7....的顺序来访问的),
那么物理块就只有三个,分别放着0,7,6;那么5要进来,就只能淘汰掉0,7,6中的其中一个,
(为什么?因为物理块只有三个,只能放三个页面啊!!!)
那么问题来了?我5要进来,我是要淘汰谁啊?
我们用的是最佳页面置换算法,这个算法的
语法就是,淘汰掉最久不被访问的那个,
那么我们来看一下
0,7,6我要淘汰最久没被访问的页面,那么我们看访问页面的顺序,会发现
0在第18次再访问,
7在第5 次再访问,
6在第14次再访问,
所以,我们要置换掉0,因为0 是最久未的访问的
结果:

访问页面 0 7 6 5
物理块 0 0 0 5
7 7 7
6 6

按照这样的规律就可以最后得到以下的结果:

访问页面 0 7 6 5 7 4 7 3 5 4 7 4 5 6 5 7 6 0 7 6
物理块 0 0 0 5 5 5 5 5 5 5 5 5 5 5 5 5 5 0 0 0
7 7 7 7 7 7 3 3 3 7 7 7 7 7 7 7 7 7 7
6 6 6 4 4 4 4 4 4 4 4 6 6 6 6 6 6 6
缺页中断 × × × × × × × × ×

接下来,我们需要了解一个新的概念

缺页中断:在请求分页系统中,可以通过查询页表中的状态位来确定所要访问的页面是否存在于内存中。每当所要访问的页面不在内存时,会产生一次缺页中断,此时操作系统会根据页表中的外存地址在外存中找到所缺的一页,将其调入内存。

举个通俗的例子:上表有三个物理块,每次往物理块添加数据就会产生一次缺页中断,ok,上表也写上了
所以上表一共发生9次缺页中断

页面置换:就是有页面被置换,所以上表中页面置换是6次
(一开始三个物理块都是空的,添加进076,发生三次缺页中断,0次页面置换,后来的就会发生缺页中断的同时也会发生页面置换,因为三个物理块沾满了吗,所以每添加进新的页面就只能是置换了)

2.先进先出(FIFO)置换算法

闻其名知其意,这个算法就是先进入的页面先被淘汰
Belady想象:一般来说分配的物理块越多,发生的缺页越少,但是FIFO就是这么奇葩,有时候分配的物理块多了,但缺页反而增多,这就是所谓的Belady现象

3.最近最少未使用(LRU)算法

算法:LRU这个算法的名字很多,也有一种叫法叫做最近最久未使用置换算法,这个名字比较好,因为闻其名就知道这个算法怎么搞

这个算法就是看在物理块中的页面,哪个是最久没有被使用的,就把它over掉

接下来来看看例题

访问页面 2 3 4 1
物理块 2 3 4
2 3
2

看上面的表,接下来这个1要添加到哪里呢?
432要淘汰那个呢?
看这个算法怎么说:淘汰最近最久未使用的,
首先我们先来看看我们最近使用的是432,那么在这个432里面最近最久没使用的就是2,因为2第一个添加进来,接下来34,都没有使用到2,所以2就是最近最久未使用的,
所以就淘汰2

所以

访问页面 2 3 4 1
物理块 2 3 4 1
2 3 4
2 3

ok,接下来,这个最近最久未使用的算法懂了把

相关文章

  • 页面置换算法之LRU算法

    一.页面置换算法 三种常见的页面置换算法:FIFO、LFU、LRU参考:缓存算法(页面置换算法)-FIFO、LFU...

  • 页面置换算法

    页面置换算法 当发生缺页中断时,如果操作系统内存中没有空闲页面,则操作系统必须在内存选择一个页面将其移出内存,以便...

  • 基于虚拟存储区和内存工作区的页面置换算法

    一 需求分析 编写程序实现: 先进先出页面置换算法(FIFO) 最近最久未使用页面置换算法(LRU) 最佳置换页面...

  • 【操作系统,进程,多线程】

    1.内存的页面置换算法 (1)最佳置换算法(OPT)(理想置换算法):从主存中移出永远不再需要的页面;如无这样的...

  • 操作系统_页面置换算法

    最佳置换算法 先进先出(FIFO)置换算法 最近最少未使用(LRU)算法 1.最佳置换算法(理想化算法) 淘汰最久...

  • 2018-05-21

    OS学习周报告-3 页面置换算法模拟-FIFO 页面置换算法是虚拟内存技术中重要的技术之一,该算法是在搜索页表发生...

  • 虚拟存储器的页面置换算法

    最佳置换算法 OPT 选择永远不再需要的页面或最长时间以后才需要访问的页面予以淘汰。 先进先出置换算法 FIFO ...

  • 基于JAVA实现的图形化页面置换算法

    最佳页面置换算法 思想: 最佳页面置换算法所选择的被淘汰页,将是以后永不使用的,或许是在最长时间内不再被访问的页面...

  • [源码和文档分享]基于JAVA实现的图形化页面置换算法

    最佳页面置换算法 思想: 最佳页面置换算法所选择的被淘汰页,将是以后永不使用的,或许是在最长时间内不再被访问的页面...

  • Android LruCache 源码解析

    LruCache 是什么东西? LRU 咋一看这么熟悉,操作系统里面内存管理,页面置换时替换算法之一,英文全拼为L...

网友评论

    本文标题:操作系统_页面置换算法

    本文链接:https://www.haomeiwen.com/subject/zzawfxtx.html