操作系统页面调度

作者:Corbin___
链接:https://www.jianshu.com/p/633548688091
来源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

页缺失(英语:Page fault,又名硬错误硬中断分页错误寻页缺失缺页中断页故障等)指的是当软件试图访问已映射在虚拟地址空间中,但是目前并未被加载在物理内存中的一个分页时,由中央处理器的内存管理单元所发出的中断

通常情况下,用于处理此中断的程序是操作系统的一部分。如果操作系统判断此次访问是有效的,那么操作系统会尝试将相关的分页从硬盘上的虚拟内存文件中调入内存。而如果访问是不被允许的,那么操作系统通常会结束相关的进程

比如现在要去运行进程1,但是因为当前分配的物理块中还没有装入这块进程,所以会产生一个缺页中断,此时操作系统需要将当前物理块中的一个页面置换出去,用于运行这个进程。

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



 

猜你喜欢

转载自blog.csdn.net/chengchaonan/article/details/89015534
今日推荐