在一个请求分页系统中,如果一个作业的页面流顺序为7、2、3、5、4、6、1、2、1、4、5、6、7、3、4、1、5,分配给该作业的物理块数M为4块, 请将LRU、FIFO页面置换算法的页面置换示意填入下列对应表中
时间: 2023-10-21 19:04:20 浏览: 75
LRU页面置换算法:
| 作业页面 | 7 | 2 | 3 | 5 | 4 | 6 | 1 | 2 | 1 | 4 | 5 | 6 | 7 | 3 | 4 | 1 | 5 |
| -------- | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - |
| 物理块 | 7 | 2 | 3 | 5 | | | | | | | | | | | | | |
| 缺页次数 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 9 | 10| 11| 12| 13| 14| 15| 15|
FIFO页面置换算法:
| 作业页面 | 7 | 2 | 3 | 5 | 4 | 6 | 1 | 2 | 1 | 4 | 5 | 6 | 7 | 3 | 4 | 1 | 5 |
| -------- | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - |
| 物理块 | 7 | 2 | 3 | 5 | | | | | | | | | | | | | |
| 缺页次数 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10| 11| 12| 13| 14| 15| 16| 17|
相关问题
在一个请求分页系统中,假定系统分配给一个作业的物理块数为4,并且此作业的页面走向为1,2,3,4, 2,1,5,6,2,1, 2, 3, 7,6, 3, 2, 1,2,3,6。试用Optimal、FIFO和LRU三种算法分别计算出程序访问过程中所发生的缺页次数和缺页率
首先,需要知道每个作业所占用的物理块数,这里是4个物理块,即内存中只能存放4个页面。在计算缺页次数和缺页率时,需要记录每个页面的使用情况及其在内存中的位置。
接下来,分别使用Optimal、FIFO和LRU三种算法计算缺页次数和缺页率:
1. Optimal算法:
首先需要预测未来访问页面的情况,即找出最长时间内不再被访问的页面。根据此算法,计算程序访问过程中所发生的缺页次数和缺页率如下:
| 页面 | 1 | 2 | 3 | 4 | 2 | 1 | 5 | 6 | 2 | 1 | 2 | 3 | 7 | 6 | 3 | 2 | 1 | 2 | 3 | 6 |
| ---- | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - |
| 缺页 | 1 | 1 | 1 | 1 | 2 | 2 | 3 | 4 | 4 | 4 | 4 | 5 | 6 | 7 | 7 | 8 | 9 | 9 | 10| 11|
| 缺页率 | 25% | 25% | 25% | 25% | 50% | 50% | 75% | 100% | 100% | 100% | 100% | 91.67% | 83.33% | 87.5% | 87.5% | 90% | 95% | 95% | 100% | 100% |
2. FIFO算法:
按照页面进入内存的先后顺序进行替换。如果内存已满,则最先进入内存的页面会被替换掉。计算程序访问过程中所发生的缺页次数和缺页率如下:
| 页面 | 1 | 2 | 3 | 4 | 2 | 1 | 5 | 6 | 2 | 1 | 2 | 3 | 7 | 6 | 3 | 2 | 1 | 2 | 3 | 6 |
| ---- | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - |
| 缺页 | 1 | 1 | 1 | 1 | 2 | 2 | 3 | 4 | 4 | 4 | 4 | 5 | 6 | 7 | 7 | 8 | 9 | 9 | 10| 11|
| 缺页率 | 25% | 25% | 25% | 25% | 50% | 50% | 75% | 100% | 100% | 100% | 100% | 91.67% | 83.33% | 87.5% | 87.5% | 90% | 95% | 95% | 100% | 100% |
3. LRU算法:
根据页面最近的使用情况来进行替换。最近使用的页面会被保留在内存中,最久未使用的页面会被替换掉。计算程序访问过程中所发生的缺页次数和缺页率如下:
| 页面 | 1 | 2 | 3 | 4 | 2 | 1 | 5 | 6 | 2 | 1 | 2 | 3 | 7 | 6 | 3 | 2 | 1 | 2 | 3 | 6 |
| ---- | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - | - |
| 缺页 | 1 | 1 | 1 | 1 | 2 | 2 | 3 | 4 | 4 | 4 | 5 | 5 | 6 | 7 | 7 | 8 | 9 | 9 | 10| 11|
| 缺页率 | 25% | 25% | 25% | 25% | 50% | 50% | 75% | 100% | 100% | 100% | 83.33% | 83.33% | 87.5% | 87.5% | 90% | 95% | 95% | 100% | 100% |
综上所述,三种算法计算出的缺页次数和缺页率都是相同的,即缺页次数为11,缺页率为100%。这是因为作业需要的物理块数为4,而程序访问过程中的页面数超过了4个,所以必然会发生缺页,无论采用哪种算法。
在一个请求分页系统中,假定系统分配给一个作业的物理块数为3,并且此作业页面走向为2、3、2、1、5、2、4、5、3、2、5、2。试用FIDO和LRU两种算法分别计算出程序访问过程中所发生的缺页次数。
首先需要明确的是,FIFO算法是一种先进先出的置换算法,而不是FIDO。
接下来分别使用FIFO和LRU算法计算缺页次数:
1. FIFO算法
首先将3个物理块都分配给作业,然后按顺序处理页面走向序列:
2,3,2(缺页),1(缺页),5(缺页),2(缺页),4(缺页),5,3,2(缺页),5,2(缺页)
因此,FIFO算法中发生的缺页次数为6次。
2. LRU算法
同样是先将3个物理块都分配给作业,然后按顺序处理页面走向序列:
2,3,2(缺页),1(缺页),5(缺页),2(命中),4(缺页),5(缺页),3(缺页),2(命中),5(命中),2(命中)
因此,LRU算法中发生的缺页次数为5次。
综上所述,FIFO算法中发生的缺页次数为6次,LRU算法中发生的缺页次数为5次。
阅读全文