在一个请求分页系统中, 采用 LRU 页面置换算法时, 设一个作业的页面走向为 7, 0, 1, 2, 5, 3, 0, 4, 2, 3, 1, 2, 7, 6, 1, 2, 3, 7, 0, 4 。 当分配给该作业的物理块数 M 分别为 3 和 5 时, 分 别写出页面置换过程, 并计算访问过程中所发生的缺页率, 假设开始执行时贮存中没有页 面, 比较分析所得结果。
时间: 2023-10-04 20:04:14 浏览: 112
好的,这是一个操作系统中的问题,我会尽力回答。首先,LRU(Least Recently Used)是一种常见的页面置换算法,它根据最近使用的时间来选择要替换的页面。在该算法中,页面被放入一个队列中,最近被使用的页面被放在队列的末尾,最久未被使用的页面被放在队列的头部。
现在,我们来分别考虑当分配给该作业的物理块数 M 分别为 3 和 5 时的情况。
当 M=3 时,我们可以将物理块用 P1、P2 和 P3 来表示。初始状态下,这三个物理块都是空的。作业的页面走向为 7, 0, 1, 2, 5, 3, 0, 4, 2, 3, 1, 2, 7, 6, 1, 2, 3, 7, 0, 4。现在,我们来模拟页面置换过程:
1. 7 -> 缺页 -> 将页面 7 装入 P1。
2. 0 -> 缺页 -> 将页面 0 装入 P2。
3. 1 -> 缺页 -> 将页面 1 装入 P3。
4. 2 -> 缺页 -> 将页面 2 装入 P1,P2 中的页面被替换掉。
5. 5 -> 缺页 -> 将页面 5 装入 P2,P3 中的页面被替换掉。
6. 3 -> 缺页 -> 将页面 3 装入 P1,P2 中的页面被替换掉。
7. 0 -> 命中 P2。
8. 4 -> 缺页 -> 将页面 4 装入 P3,P1 中的页面被替换掉。
9. 2 -> 命中 P1。
10. 3 -> 命中 P1。
11. 1 -> 命中 P3。
12. 2 -> 命中 P1。
13. 7 -> 缺页 -> 将页面 7 装入 P2,P3 中的页面被替换掉。
14. 6 -> 缺页 -> 将页面 6 装入 P1,P2 中的页面被替换掉。
15. 1 -> 命中 P3。
16. 2 -> 命中 P1。
17. 3 -> 命中 P1。
18. 7 -> 命中 P2。
19. 0 -> 命中 P2。
20. 4 -> 命中 P3。
在这个过程中,共发生了 11 次缺页,访问过程中所发生的缺页率为 55%。
接下来,我们考虑当 M=5 时的情况。我们用 P1 到 P5 来表示五个物理块。初始状态下,这五个物理块都是空的。作业的页面走向与上面相同。现在,我们来模拟页面置换过程:
1. 7 -> 缺页 -> 将页面 7 装入 P1。
2. 0 -> 缺页 -> 将页面 0 装入 P2。
3. 1 -> 缺页 -> 将页面 1 装入 P3。
4. 2 -> 缺页 -> 将页面 2 装入 P4。
5. 5 -> 缺页 -> 将页面 5 装入 P5。
6. 3 -> 缺页 -> 将页面 3 装入 P1,P2 中的页面被替换掉。
7. 0 -> 命中 P2。
8. 4 -> 缺页 -> 将页面 4 装入 P3,P4 中的页面被替换掉。
9. 2 -> 命中 P4。
10. 3 -> 命中 P1。
11. 1 -> 命中 P3。
12. 2 -> 命中 P4。
13. 7 -> 缺页 -> 将页面 7 装入 P5,P1 中的页面被替换掉。
14. 6 -> 缺页 -> 将页面 6 装入 P1,P2 中的页面被替换掉。
15. 1 -> 命中 P3。
16. 2 -> 命中 P4。
17. 3 -> 命中 P1。
18. 7 -> 命中 P5。
19. 0 -> 命中 P2。
20. 4 -> 命中 P3。
在这个过程中,共发生了 9 次缺页,访问过程中所发生的缺页率为 45%。
因此,当分配给该作业的物理块数 M 分别为 3 和 5 时,分别的缺页率分别为 55% 和 45%。可以看到,当分配的物理块数越多时,缺页率越低,系统性能也越好。
阅读全文