页面置换算法

一、最佳置换算法(OPT)

1. 原理

每次选择未来长时间不被访问的或者以后永不使用的页面进行淘汰。从主存中移出永远不再需要的页面,如无这样的页面存在,则选择最长时间不需要访问的页面,所选择的被淘汰页面将是以后永不使用的,或者是在最长时间内不再被访问的页面,这样可以保证获得最低的缺页率。

2. 举例

假定系统为某进程分配了三块物理块,并有以下页面:7,0,1,2,0,3,0,4,2,3,0,3,2,1,2,0,1,7,0,1,程序运行时,先将7,0,1三个页面装入内存,然后进行如下步骤:

(1)当进程要访问页面2的时候,将会产生缺页中断,此时根据最佳置换算法,因为页面7要在第18次才能访问,页面0在第5次访问,页面1在第14次访问,页面7最久不被使用,所以将页面7淘汰

(2)当进程0要访问时,因为它已存在在内存所以不必产生缺页中断

(3)当页面3要访问时,又引起缺页中断淘汰1

(4)依次类推直到最后一个页面访问完

下图为采用最佳置换算法的置换图,采用最佳置换算法发生了9次缺页中断,页面置换的次数为6

 访问页面

7

0

1

2

0

3

0

4

2

3

0

3

2

1

2

0

1

7

0

1

  物理块1

7

7

7

2

 

2

 

2

 

 

2

 

 

2

 

 

 

7

 

 

  物理块2

 

0

0

0

 

0

 

4

 

 

0

 

 

0

 

 

 

0

 

 

  物理块3

 

 

1

1

 

3

 

3

 

 

3

 

 

1

 

 

 

1

 

 

3. 优缺点

(1)优点:最佳置换算法可以保证获得最低的缺页率

(2)缺点:最佳置换算法是一种理想化算法,具有较好的性能,但是实际上无法实现(无法预知一个进程中的若干页面哪一个最长时间不被访问)

二、先进先出页面置换算法(FIFO)

1. 原理

优先淘汰最早进入内存的页面,亦即在内存中驻留时间最久的页面。该算法实现简单,只需把调入内存的页面根据先后次序链接成队列,设置一个指针总指向最早的页面。但该算法与进程实际运行时的规律不适应,因为在进程中,有的页面经常被访问。

2. 举例

假定系统为某进程分配了三块物理块,并有以下页面:7,0,1,2,0,3,0,4,2,3,0,3,2,1,2,0,1,7,0,1,程序运行时,先将7,0,1三个页面装入内存,然后进行如下步骤:

(1)当进程要访问页面2的时候,将会产生缺页中断。此时根据先进先出置换算法,因为页面7是最先进入内存的,所以将页面7换出

(2)当进程0要访问时,因为它已存在在内存所以不必产生缺页中断

(3)在进程要访问页面3的时候,因为页面0是最早进入内存的,所以将页面0换出

(4)依次类推直到最后一个页面访问完

下图为采用先进先出置换算法的置换图,采用先进先出页面置换算法发生了15次缺页中断,页面置换的次数为12,比最佳置换算法的页面置换正好多了一倍

 访问页面

7

0

1

2

0

3

0

4

2

3

0

3

2

1

2

0

1

7

0

1

  物理块1

7

7

7

2

 

2

2

4

4

4

0

 

 

0

0

 

 

7

7

7

  物理块2

 

0

0

0

 

3

3

3

2

2

2

 

 

1

1

 

 

1

0

0

  物理块3

 

 

1

1

 

1

0

0

0

3

3

 

 

3

2

 

 

2

2

1

3. 优缺点

(1)优点:先进先出算法实现简单,是最直观的一个算法

(2)缺点:先进先出的性能最差,因为与通常页面的使用规则不符合,所以实际应用少

三、最近最久未使用置换算法(LRU)

1. 原理

选择最近最长时间未访问过的页面予以淘汰,它认为过去一段时间内未访问过的页面,在最近的将来可能也不会被访问。该算法为每个页面设置一个访问字段,来记录页面自上次被访问以来所经历的时间,淘汰页面时选择现有页面中值最大的予以淘汰。

2. 举例

假定系统为某进程分配了三块物理块,并有以下页面:7,0,1,2,0,3,0,4,2,3,0,3,2,1,2,0,1,7,0,1,程序运行时,先将7,0,1三个页面装入内存,然后进行如下步骤:

(1)当进程要访问页面2的时候,将会产生缺页中断。此时根据最近最久未使用置换算法,因为页面7是最近最久未被使用的的,所以将页面7淘汰

(2)当进程0要访问时,因为它已存在在内存所以不必产生缺页中断

(3)在进程要访问页面3的时候,因为页面1是最近最久未被使用的,所以将页面1淘汰

(4)依次类推直到最后一个页面访问完

下图为采用最近最久未使用的置换算法的置换图,采用最近最久未使用置换算法发生了12次缺页中断,页面置换的次数为9

 访问页面

7

0

1

2

0

3

0

4

2

3

0

3

2

1

2

0

1

7

0

1

  物理块1

7

7

7

2

 

2

 

4

4

4

0

 

 

1

 

1

 

1

 

 

  物理块2

 

0

0

0

 

0

 

0

0

3

3

 

 

3

 

0

 

0

 

 

  物理块3

 

 

1

1

 

3

 

3

2

2

2

 

 

2

 

2

 

7

 

 

3. 优缺点

(1)优点:由于考虑程序访问的时间局部性,一般能有较好的性能,实际应用多

(2)缺点:实现需要较多的硬件支持,会增加硬件成本

  • 3
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值