在中国电信笔试题目中遇到了两道计算缺页率的题目,但是忘记了怎么计算,在这里根据一道题目自己总结一下。分别利用三种方法作表,鲜明的进行表示。
题目描述:
在一个请求分页系统中,假如一个作业的页面走向为:1,2,3,6,4,7,3,2,1,4,7,5,6,5,2,1。分配给该作业的物理块数为4时,分别采用最佳置换算法、LRU算法、FIFO算法,计算访问过程中所发生的缺页次数和缺页率。
缺页率:(置换的次数+内存的物理块数)/页数。
页面置换次数::当前要访问的页面不在内存中,且,物理块已经被占满,没有物理块可用,就需要将物理块中的页面按照一定的算法将不用的页面换出内存,把要访问的页面换进内存中。
首先介绍一下三个置换算法:
置换算法 | 简述 |
---|---|
最佳置换算法 | 被淘汰的页面是在未来最长时间内不再访问的页面 |
FIFO置换算法 | 被淘汰的页面是在内存中驻留时间最久的页面 |
LRU置换算法 | 被淘汰的页面将是最久未使用的页面 |
- 最佳置换算法
页面走向 | 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 | N | N | N | Y | N | Y | Y | N | N | N |
Y表示缺页,N表示不缺页,则缺页次数为5,缺页率为(5+4)/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 | N | Y | Y | N | N | Y | Y | N | N | N |
缺页次数为6,缺页率为(6+4)/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 | 6 | 2 | 2 | 2 | 2 | 5 | 5 | 5 | 5 | 5 | |||
缺页否 | Y | Y | N | Y | Y | Y | Y | Y | Y | N | Y | Y |
缺页次数为10,缺页率为(10+4)/16。