采用 FIFO、LRU和 OPT页面置换算法时,计算在访问过程中所发生的缺页次数和缺页率

页面置换算法

题目:

在一个请求分页系统中,分别采用 FIFO、LRU和 OPT页面置换算法时,假如一个作业的页面走向为 4、3、2、1、4、3、5、4、3、2、1、5,当分配给该作业的物理块数M为 3时,试计算在访问过程中所发生的缺页次数和缺页率,并比较所得结果。

分析思路:

先进先出(FIFO)更新算法:
也称为最早出现的页面更新算法。该算法总是淘汰最先进入内存的页面,即选择在内存中停留时间最长的一页予以淘汰。如果同时有多个页面符合淘汰的条件,则任意选择一个予以淘汰即可。

技巧:谁先连成和题目所给物理块总数,谁先被置换掉

最近最久未使用(LRU)更新算法:
以“最近的过去”作为“不久的将来”的近似,选择最近一段时间内最久没有使用的页面淘汰。
它的实质是:当需要更新一页时,选择在最近一段时间内最久没有被使用的页面予以淘汰

技巧:在内存中没有的页面开始往前看,置换“最前面的“,但不是从一开始的,那样这个算法就没有意义了

最优(OPT)更新算法
该算法所选择的被淘汰页面,将是以后永久不被访问,或者是在未来最长时间内不再被访问的页面。采用最优更新算法通常可以保证获得最低的缺页率。

技巧:往后看,当前未在页面中的页面去置换距离当前需要置换页面"最远"的页面,最后一个不在页面中的置换谁都可以

缺页率=缺页次数/总页数

置换率=置换次数/总页数

置换次数=缺页次数-物理块数

注意:这两个率最后一定要写成%的形式,不可以写分数

采用 FIFO、LRU和 OPT页面置换算法时,计算在访问过程中所发生的缺页次数和缺页率_第1张图片

你可能感兴趣的:(OS)