1.最佳置换算法(向未来看)
-
这是一种理论算法,其所选择的被淘汰页面将是以后永不使用的,或许是在最长(未来)时间内不再访问的页面。其可保证获得最低的缺页率。
2.先进先出FIFO页面置换算法
- 优先淘汰最早进入内存的页面,亦即在内存中驻留时间最久的页面。该算法实现简单,只需把调入内存的页面根据先后次序链接成队列,设置一个指针总指向最早的页面。但该算法与进程实际运行时的规律不适应,因为在进程中,有的页面经常被访问。
3.最近最久未使用LRU页面置换算法
- 利用局部性原理,根据一个作业在执行过程中过去的页面访问历史来推测未来的行为。它认为过去一段时间里不曾被访问过的页面,在最近的将来可能也不会再被访问。所以,这种算法的实质是:当需要淘汰一个页面时,总是选择在最近一段时间内最久不用的页面予以淘汰。
在一个请求分页存储管理系统中,一个作业的页面走向4,3,2,1,4,3,5,4,3,2,1,5.当分配给作业的物理块数分别为3和4时,试计算采用下述页面淘汰算法时的缺页率(假设开始执行时主存中没有页面),并比较结果
1)最佳置换算法
2)先进先出置换算法
3)最近最久未使用算法
1)最佳置换算法
物理块数为3:
页面走向 | 4 | 3 | 2 | 1 | 4 | 3 | 5 | 4 | 3 | 2 | 1 | 5 |
---|---|---|---|---|---|---|---|---|---|---|---|---|
物理页0 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 2 | 2 | 2 |
物理页1 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 1 | 1 | |
物理页2 | 2 | 1 | 1 | 1 | 5 | 5 | 5 | 5 | 5 | 5 | ||
缺页否 | Y | Y | Y | Y | Y | Y | Y |
缺页率=7/12
物理块数为4:
页面走向 | 4 | 3 | 2 | 1 | 4 | 3 | 5 | 4 | 3 | 2 | 1 | 5 |
---|---|---|---|---|---|---|---|---|---|---|---|---|
物理页0 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 1 | 1 |
物理页1 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | |
物理页2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | ||
物理页3 | 1 | 1 | 1 | 5 | 5 | 5 | 5 | 5 | 5 | |||
缺页否 | Y | Y | Y | Y | Y | Y |
缺页率=6/12
2)先进先出置换算法
物理块数为3:
页面走向 | 4 | 3 | 2 | 1 | 4 | 3 | 5 | 4 | 3 | 2 | 1 | 5 |
---|---|---|---|---|---|---|---|---|---|---|---|---|
物理页0 | 4 | 4 | 4 | 1 | 1 | 1 | 5 | 5 | 5 | 5 | 5 | 5 |
物理页1 | 3 | 3 | 3 | 4 | 4 | 4 | 4 | 4 | 2 | 2 | 2 | |
物理页2 | 2 | 2 | 2 | 3 | 3 | 3 | 3 | 3 | 3 | 1 | ||
缺页否 | Y | Y | Y | Y | Y | Y | Y | Y | Y |
缺页率=9/12
物理块数为4:
页面走向 | 4 | 3 | 2 | 1 | 4 | 3 | 5 | 4 | 3 | 2 | 1 | 5 |
---|---|---|---|---|---|---|---|---|---|---|---|---|
物理页0 | 4 | 4 | 4 | 4 | 4 | 4 | 5 | 5 | 5 | 5 | 1 | 1 |
物理页1 | 3 | 3 | 3 | 3 | 3 | 3 | 4 | 4 | 4 | 4 | 5 | |
物理页2 | 2 | 2 | 2 | 2 | 2 | 2 | 3 | 3 | 3 | 3 | ||
物理页3 | 1 | 1 | 1 | 1 | 1 | 1 | 2 | 2 | 2 | |||
缺页否 | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y |
缺页率=10/12
3)最近最久未使用算法
物理块数为3:
页面走向 | 4 | 3 | 2 | 1 | 4 | 3 | 5 | 4 | 3 | 2 | 1 | 5 |
---|---|---|---|---|---|---|---|---|---|---|---|---|
物理页0 | 4 | 4 | 4 | 1 | 1 | 1 | 5 | 5 | 5 | 2 | 2 | 2 |
物理页1 | 3 | 3 | 3 | 4 | 4 | 4 | 4 | 4 | 4 | 1 | 1 | |
物理页2 | 2 | 2 | 2 | 3 | 3 | 3 | 3 | 3 | 3 | 5 | ||
缺页否 | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y |
缺页率=10/12
物理块数为4:
页面走向 | 4 | 3 | 2 | 1 | 4 | 3 | 5 | 4 | 3 | 2 | 1 | 5 |
---|---|---|---|---|---|---|---|---|---|---|---|---|
物理页0 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 5 |
物理页1 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | |
物理页2 | 2 | 2 | 2 | 2 | 5 | 5 | 5 | 5 | 1 | 1 | ||
物理页3 | 1 | 1 | 1 | 1 | 1 | 1 | 2 | 2 | 2 | |||
缺页否 | Y | Y | Y | Y | Y | Y | Y | Y |
缺页率=8/12
2、在一个请求分页系统中,假如一个作业的页面走向为:1,2,3,6,4,7,3,2,1,4,7,5,6,5,2,1。当分配给该作业的物理块数为4时,分别采用最佳置换算法、LRU和FIFO页面置换算法,计算访问过程中所发生的缺页次数和缺页率。
答:最佳置换算法的情况如下表:
页面走向 | 1 | 2 | 3 | 6 | 4 | 7 | 3 | 2 | 1 | 4 | 7 | 5 | 6 | 5 | 2 | 1 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
物理页0 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
物理页1 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | |
物理页2 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 4 | 4 | 5 | 5 | 5 | 5 | 5 | ||
物理页3 | 6 | 4 | 7 | 7 | 7 | 7 | 7 | 7 | 7 | 6 | 6 | 6 | 6 | |||
缺页否 | Y | Y | Y | Y | Y | Y | Y | Y | Y |
缺页次数为9,缺页率为9/16
LRU算法的情况如下表:
页面走向 | 1 | 2 | 3 | 6 | 4 | 7 | 3 | 2 | 1 | 4 | 7 | 5 | 6 | 5 | 2 | 1 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
物理页0 | 1 | 1 | 1 | 1 | 4 | 4 | 4 | 4 | 1 | 1 | 1 | 1 | 6 | 6 | 6 | 6 |
物理页1 | 2 | 2 | 2 | 2 | 7 | 7 | 7 | 7 | 4 | 4 | 4 | 4 | 4 | 2 | 2 | |
物理页2 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 7 | 7 | 7 | 7 | 7 | 1 | ||
物理页3 | 6 | 6 | 6 | 2 | 2 | 2 | 2 | 2 | 5 | 5 | 5 | 5 | 5 | |||
缺页否 | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y |
缺页次数为14,缺页率为14/16
FIFO算法的情况如下表:
页面走向 | 1 | 2 | 3 | 6 | 4 | 7 | 3 | 2 | 1 | 4 | 7 | 5 | 6 | 5 | 2 | 1 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
物理页0 | 1 | 1 | 1 | 1 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 5 | 5 | 5 | 5 | 5 |
物理页1 | 2 | 2 | 2 | 2 | 7 | 7 | 7 | 7 | 7 | 7 | 7 | 6 | 6 | 6 | 6 | |
物理页2 | 3 | 3 | 3 | 3 | 3 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | ||
物理页3 | 6 | 6 | 6 | 6 | 6 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | |||
缺页否 | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y |
缺页次数为10,缺页率为10/16