本文主要是介绍在一个请求页式存储系统中,一个程序的页面走向为 1,2,1,4,3,2,3,5,1,2,1,3。假设分配给该程序的存储块数为 4,则采用 FIFO、LRU 页面置换算法时,访问过程中的缺页次数分别是?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
页面置换算法
题目:
在一个请求页式存储系统中,一个程序的页面走向为 1,2,1,4,3,2,3,5,1,2,1,3。假设分配给该程序的存储块数为 4,则采用 FIFO、LRU 页面置换算法时,访问过程中的缺页次数分别是多少。
分析思路:
- 先进先出(FIFO)更新算法:
也称为最早出现的页面更新算法。该算法总是淘汰最先进入内存的页面,即选择在内存中停留时间最长的一页予以淘汰。如果同时有多个页面符合淘汰的条件,则任意选择一个予以淘汰即可。
技巧:谁先连成和题目所给物理块总数,谁先被置换掉
- 最近最久未使用(LRU)更新算法:
以“最近的过去”作为“不久的将来”的近似,选择最近一段时间内最久没有使用的页面淘汰。
它的实质是:当需要更新一页时,选择在最近一段时间内最久没有被使用的页面予以淘汰
技巧:在内存中没有的页面开始往前看,置换“最前面的“,但不是从一开始的,那样这个算法就没有意义了
缺页率=缺页次数/总页数
置换率=置换次数/总页数
置换次数=缺页次数-物理块数
注意:这两个率最后一定要写成%的形式,不可以写分数
先进先出(FIFO)更新算法:缺页次数7次,置换次数3次
缺页率=缺页次数/总页数=7/12=58.3%(约等于)
置换率=置换次数/总页数=3/12=25%
最近最久未使用(LRU)更新算法:缺页次数6次,置换次数2次
缺页率=缺页次数/总页数=6/12=50%
置换率=置换次数/总页数=2/12=16.6%(约等于)
这篇关于在一个请求页式存储系统中,一个程序的页面走向为 1,2,1,4,3,2,3,5,1,2,1,3。假设分配给该程序的存储块数为 4,则采用 FIFO、LRU 页面置换算法时,访问过程中的缺页次数分别是?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!