用Java模拟页面置换算法LRU,计算一个作业的页面序号走向为 4, 3, 2, 1, 4, 3, 5, 4, 3, 2, 1, 5,3,1,2,4目前还没有任何页装入内存,当分配给该作业的物理块数目 M 为3和4 时发生的缺页次数和缺页率?
时间: 2023-08-16 21:05:50 浏览: 124
置换算法、缺页率.pdf
LRU 页面置换算法的基本思想是淘汰最近最少使用的页面,因此需要维护一个页面访问的时间戳,每次淘汰的页面就是时间戳最小的页面。
根据题目给出的页面序号走向和内存物理块数目,可以模拟出该作业的页面置换过程,并计算出缺页次数和缺页率。
当分配给该作业的物理块数目 M 为 3 时:
| 页面访问顺序 | 内存状态 | 缺页次数 |
| ------------ | -------- | -------- |
| 4 | 4 | 1 |
| 3 | 4 3 | 1 |
| 2 | 4 3 2 | 1 |
| 1 | 1 3 2 | 1 |
| 4 | 1 3 4 | 1 |
| 3 | 3 1 4 | 2 |
| 5 | 3 1 5 | 3 |
| 4 | 4 1 5 | 4 |
| 3 | 4 3 5 | 4 |
| 2 | 2 3 5 | 5 |
| 1 | 1 3 5 | 6 |
| 5 | 5 3 1 | 7 |
| 3 | 5 3 1 | 7 |
| 1 | 5 3 1 | 7 |
| 2 | 5 3 2 | 8 |
| 4 | 4 3 2 | 9 |
缺页次数为 9,缺页率为 9/16 = 56.25%。
当分配给该作业的物理块数目 M 为 4 时:
| 页面访问顺序 | 内存状态 | 缺页次数 |
| ------------ | -------- | -------- |
| 4 | 4 | 1 |
| 3 | 4 3 | 1 |
| 2 | 4 3 2 | 1 |
| 1 | 1 4 3 2 | 1 |
| 4 | 1 4 3 2 | 1 |
| 3 | 3 1 4 2 | 2 |
| 5 | 5 3 1 4 | 3 |
| 4 | 5 3 1 4 | 3 |
| 3 | 3 5 1 4 | 4 |
| 2 | 3 5 1 2 | 5 |
| 1 | 1 3 5 2 | 6 |
| 5 | 5 1 3 2 | 7 |
| 3 | 5 1 3 2 | 7 |
| 1 | 5 1 3 2 | 7 |
| 2 | 5 2 3 1 | 8 |
| 4 | 5 2 3 4 | 9 |
缺页次数为 9,缺页率为 9/16 = 56.25%。可以发现,当物理块数目增加时,缺页率并没有明显地减小,这是因为该作业的页面访问顺序没有明显的规律,无论分配多少物理块,都无法完全避免缺页。
阅读全文