在一个请求分页系统中,假定系统分配给一个作业的物理块数为3,并且此作业的页面走向为2、3、2、1、5、2、4、5、3、2、5、2。试用FIFO和LRU两种算法分别计算出程序访问过程中所发生的缺页次数。(先画出页面置换图,再计算缺页率)
时间: 2023-07-10 12:04:22 浏览: 126
我们先画出该程序的页面置换图:
```
2 3 2 1 5 2 4 5 3 2 5 2
| | | | | | | | | | | |
v v v v v v v v v v v v
- - - - - - - - - - - -
|2| | | | | | | | | | |
- - - - - - - - - - - -
|2|3| | | | | | | | | |
- - - - - - - - - - - -
|2|3|1| | | | | | | | |
- - - - - - - - - - - -
|5|3|1| | | | | | | | |
- - - - - - - - - - - -
|5|2|1| | | | | | | | |
- - - - - - - - - - - -
|5|4|1| | | | | | | | |
- - - - - - - - - - - -
|5|4|1|2| | | | | | | |
- - - - - - - - - - - -
|5|4|1|2|3| | | | | | |
- - - - - - - - - - - -
|5|4|1|2|3| | | | | | |
- - - - - - - - - - - -
|5|4|1|2|3|5| | | | | |
- - - - - - - - - - - -
|5|4|1|2|3|5| | | | | |
- - - - - - - - - - - -
```
接下来我们分别使用FIFO和LRU两种算法计算出程序访问过程中所发生的缺页次数:
### FIFO算法
在FIFO算法中,我们采用先进先出的策略进行页面置换。如果物理块已经满了,那么就将最久未被使用的页面替换出去。
```
2 3 2 1 5 2 4 5 3 2 5 2
| | | | | | | | | | | |
v v v v v v v v v v v v
- - - - - - - - - - - -
|2| | | | | | | | | | |
- - - - - - - - - - - -
|2|3| | | | | | | | | |
- - - - - - - - - - - -
|2|3|1| | | | | | | | |
- - - - - - - - - - - -
|5|3|1| | | | | | | | | <- 缺页
- - - - - - - - - - - -
|5|2|1| | | | | | | | | <- 缺页
- - - - - - - - - - - -
|5|4|1| | | | | | | | | <- 缺页
- - - - - - - - - - - -
|2|4|1| | | | | | | | |
- - - - - - - - - - - -
|2|3|1| | | | | | | | |
- - - - - - - - - - - -
|2|3|5| | | | | | | | | <- 缺页
- - - - - - - - - - - -
|2|3|5|4| | | | | | | |
- - - - - - - - - - - -
```
缺页次数为4,缺页率为4/12=0.33。
### LRU算法
在LRU算法中,我们采用最近最少使用的策略进行页面置换。如果物理块已经满了,那么就将最久未被使用的页面替换出去。
```
2 3 2 1 5 2 4 5 3 2 5 2
| | | | | | | | | | | |
v v v v v v v v v v v v
- - - - - - - - - - - -
|2| | | | | | | | | | |
- - - - - - - - - - - -
|2|3| | | | | | | | | |
- - - - - - - - - - - -
|2|3|1| | | | | | | | |
- - - - - - - - - - - -
|5|3|1| | | | | | | | | <- 缺页
- - - - - - - - - - - -
|5|2|1| | | | | | | | | <- 缺页
- - - - - - - - - - - -
|5|4|1| | | | | | | | | <- 缺页
- - - - - - - - - - - -
|2|4|1| | | | | | | | |
- - - - - - - - - - - -
|2|3|1| | | | | | | | |
- - - - - - - - - - - -
|5|3|1|2| | | | | | | | <- 缺页
- - - - - - - - - - - -
|5|3|1|2|4| | | | | | | <- 缺页
- - - - - - - - - - - -
```
缺页次数为6,缺页率为6/12=0.5。
因此,在这个例子中,FIFO算法的表现要优于LRU算法。
阅读全文