在某请求分页管理系统中,一个作业共5页,作业执行时依次访问如下页面:1,4,3,1,2,5,1,4,2,1,4,5,若分给该作业的主存块数为3,分别采用OPT、FIFO、LRU页面置换算法,画出页面置换过程,计算缺页次数和缺页率
时间: 2024-01-11 21:02:29 浏览: 175
首先,我们需要根据每种页面置换算法来模拟分页管理系统的运行过程,记录每个时刻系统中的页面状态。下面是三种算法的具体实现:
1. OPT页面置换算法
OPT算法会预测未来最长时间不会被访问的页面,并将其置换出去。
对于本题,我们首先需要计算每一页最后一次被访问的时间:
- 页面1:11
- 页面2:5
- 页面3:3
- 页面4:10
- 页面5:12
然后,我们按照访问顺序模拟系统的执行过程。在每个时刻,如果当前页面在内存中不存在,则需要进行页面置换。对于需要置换的页面,我们选择将最长时间不会被访问的页面置换出去。
下面是按照OPT算法模拟系统执行过程的结果:
| 时间 | 访问页面 | 内存状态 | 缺页次数 |
| --- | --- | --- | --- |
| 1 | 1 | 1 | 1 |
| 2 | 4 | 1 4 | 1 |
| 3 | 3 | 1 4 3 | 1 |
| 4 | 1 | 1 4 3 | 1 |
| 5 | 2 | 2 4 3 | 2 |
| 6 | 5 | 2 4 5 | 3 |
| 7 | 1 | 2 4 5 | 3 |
| 8 | 4 | 2 4 5 | 3 |
| 9 | 2 | 2 4 5 | 3 |
| 10 | 1 | 1 4 5 | 4 |
| 11 | 4 | 1 4 5 | 4 |
| 12 | 5 | 1 4 5 | 4 |
因此,采用OPT算法时,缺页次数为4,缺页率为4/12=33.33%。
2. FIFO页面置换算法
FIFO算法会选择最早进入内存的页面进行置换。
下面是按照FIFO算法模拟系统执行过程的结果:
| 时间 | 访问页面 | 内存状态 | 缺页次数 |
| --- | --- | --- | --- |
| 1 | 1 | 1 | 1 |
| 2 | 4 | 1 4 | 1 |
| 3 | 3 | 1 4 3 | 1 |
| 4 | 1 | 1 4 3 | 1 |
| 5 | 2 | 1 4 3 | 2 |
| 6 | 5 | 1 4 3 | 3 |
| 7 | 1 | 4 3 1 | 4 |
| 8 | 4 | 3 1 4 | 5 |
| 9 | 2 | 1 4 2 | 6 |
| 10 | 1 | 4 2 1 | 7 |
| 11 | 4 | 2 1 4 | 8 |
| 12 | 5 | 1 4 5 | 9 |
因此,采用FIFO算法时,缺页次数为9,缺页率为9/12=75%。
3. LRU页面置换算法
LRU算法会选择最近最少使用的页面进行置换。
下面是按照LRU算法模拟系统执行过程的结果:
| 时间 | 访问页面 | 内存状态 | 缺页次数 |
| --- | --- | --- | --- |
| 1 | 1 | 1 | 1 |
| 2 | 4 | 1 4 | 1 |
| 3 | 3 | 1 4 3 | 1 |
| 4 | 1 | 4 3 1 | 2 |
| 5 | 2 | 2 3 1 | 3 |
| 6 | 5 | 5 3 1 | 4 |
| 7 | 1 | 5 3 1 | 4 |
| 8 | 4 | 5 3 4 | 5 |
| 9 | 2 | 5 2 4 | 6 |
| 10 | 1 | 1 2 4 | 7 |
| 11 | 4 | 1 2 4 | 7 |
| 12 | 5 | 1 2 5 | 8 |
因此,采用LRU算法时,缺页次数为8,缺页率为8/12=66.67%。
最后,我们需要计算出三种算法的缺页率和缺页次数。根据上面的模拟结果,三种算法的缺页次数和缺页率如下:
| 算法 | 缺页次数 | 缺页率 |
| --- | --- | --- |
| OPT | 4 | 33.33% |
| FIFO | 9 | 75% |
| LRU | 8 | 66.67% |
因此,采用OPT算法时,缺页率最低,最为优秀。
阅读全文