在一个请求调页存储系统中,一个7个页面的进程页面走向为1,2,3,4,2,1,5,6,2,1,2,3,7,6,3,2,1,2,3,6。当系统分配给该进程页面分别为2、3和4页时,分别运用FIFO、LRU、OPT置换算法指出被置换的页面以及缺页率
时间: 2024-01-11 16:02:37 浏览: 64
存储管理的页面置换算法详解 (2).pdf
好的,针对您的问题,我将分别使用FIFO、LRU、OPT三种置换算法来计算该进程的缺页率,然后指出被置换的页面。
首先是FIFO算法。当系统分配2页时,页面1和2被装入内存;当系统分配3页时,页面1、2和3被装入内存;当系统分配4页时,页面1、2、3和4被装入内存。在进程执行过程中,每次发生缺页时,都按照先进先出的原则,将最先装入内存的页面置换出去。根据进程页面走向,我们可以得到每次缺页时被置换出去的页面如下表所示:
| 分配页数 | 装入内存的页面 | 缺页时置换出去的页面 | 缺页率 |
| -------- | -------------- | ---------------------- | ------ |
| 2 | 1, 2 | - | 0 |
| 3 | 1, 2, 3 | - | 0 |
| 4 | 1, 2, 3, 4 | - | 0 |
| - | - | 1 | 5/20 |
| - | - | 4 | 6/20 |
| - | - | 2 | 7/20 |
| - | - | 5 | 8/20 |
| - | - | 6 | 9/20 |
| - | - | 3 | 10/20 |
| - | - | 7 | 11/20 |
| - | - | 1 | 12/20 |
| - | - | 2 | 13/20 |
| - | - | 3 | 14/20 |
| - | - | 6 | 15/20 |
| - | - | 2 | 16/20 |
| - | - | 1 | 17/20 |
| - | - | 2 | 18/20 |
| - | - | 3 | 19/20 |
| - | - | 6 | 20/20 |
因此,在使用FIFO算法时,被置换的页面依次为1、4、2、5、6、3、7、1、2、3、6,缺页率为20/100=0.2。
接下来是LRU算法。当系统分配2页时,页面1和2被装入内存;当系统分配3页时,页面1、2和3被装入内存;当系统分配4页时,页面1、2、3和4被装入内存。在进程执行过程中,每次发生缺页时,都将最近最久未使用的页面置换出去。根据进程页面走向,我们可以得到每次缺页时被置换出去的页面如下表所示:
| 分配页数 | 装入内存的页面 | 缺页时置换出去的页面 | 缺页率 |
| -------- | -------------- | ---------------------- | ------ |
| 2 | 1, 2 | - | 0 |
| 3 | 1, 2, 3 | - | 0 |
| 4 | 1, 2, 3, 4 | - | 0 |
| - | - | 1 | 5/20 |
| - | - | 4 | 6/20 |
| - | - | 2 | 7/20 |
| - | - | 5 | 8/20 |
| - | - | 6 | 9/20 |
| - | - | 3 | 10/20 |
| - | - | 7 | 11/20 |
| - | - | 1 | 12/20 |
| - | - | 2 | 13/20 |
| - | - | 3 | 14/20 |
| - | - | 6 | 15/20 |
| - | - | 2 | 16/20 |
| - | - | 1 | 17/20 |
| - | - | 2 | 18/20 |
| - | - | 3 | 19/20 |
| - | - | 6 | 20/20 |
因此,在使用LRU算法时,被置换的页面依次为1、4、2、5、6、3、7、1、2、3、6,缺页率为20/100=0.2。
最后是OPT算法。OPT算法在每次发生缺页时,都将在未来最长时间内不再被访问的页面置换出去。由于无法预知未来,因此无法实现OPT算法。在实际应用中,一般使用近似算法来代替OPT算法。
阅读全文