基于C++的请求分页虚拟页面替换算法

在操作系统课上的一点小感想,基于C++的请求分页虚拟页面替换算法,分享出来和大家一起学习。

实现OPT、FIFO、LRU、Clock等页面替换算法。接收用户输入参数,包括程序长度(页面数)、页框个数及页面大小,输出结果采用不同颜色区分命中、替换及直接加入空闲块。

OPT(最佳置换算法):其所选择的被淘汰页面将是以后永不使用的,或许是在最长(未来)时间内不再被访问的页面,但是由于无法预知一个进程在内存中的若干个页面中,哪一个页面是未来最长时间内不被访问的,因而该算法无法实现。

FIFO(先进先出页面是换算法):该算法总是淘汰最先进入内存的页面,即选择在内存中驻留时间最久的页面予以淘汰。

LRU(最近最久未使用置换算法):只能利用“最近的过去”作为“最近的将来”的近似,因此,LRU置换算法是选择最近最久未使用的页面予以淘汰。

Clock:使用的较多的一种LRU近似算法。

参考博文和源码下载地址:

https://write-bug.com/article/1361.html

你可能感兴趣的:(基于C++的请求分页虚拟页面替换算法)