FIFO算法
FIFO算法是最简单的页面置换算法。FIFO算法为每个页面记录了调到内存的时间。当必须置换页面的时候,选择最旧的页面。

通俗来说,每次进入主存的时候
- 如果主存中不存在这个页面,那么最先进入的页面出队。
- 如果主存存在这个页面,那么内存不动。
下面是C++面向对象写法代码。
这个说明一下为什么不用容器Queue。是因为queue并没有迭代器,所以无法去寻找里面是否含有某块页面。
直接使用线性表即可,方便简单且快速。
// 在分页式虚拟存储管理中,要求通过键盘输入分配给一个作业的物理块数和作业依次访问的10个页面号,
// 采用先进先出(FIFO)页面置换后
// ,顺序输出缺页中断时所淘汰的页面号,并计算缺页中断率。
#include <iostream>
using namespace std;
#define MAX 20
class Work
{
public:
void seta()
{
int c, i = 1;
cout << "输入10个页面号,以任意符号结尾" << endl;
cin >> c;
a[0] = c;
while (cin >> c)
{
a[i] = c;
i++;
}
}
void geta()
{
cout << "10个页面号分别为: ";
for (int i = 0; i < 10; i++)
{
cout << a[i] <<

该博客介绍了FIFO(先进先出)页面置换算法的原理,这是一种简单的内存管理策略。文章通过C++代码展示了如何在分页式虚拟存储管理中应用FIFO算法,读取用户输入的页面号并计算缺页中断次数及缺页中断率。代码中定义了`Work`和`space`两个类,分别代表页面访问序列和物理块状态,并实现了查找、替换等操作。
最低0.47元/天 解锁文章

1036

被折叠的 条评论
为什么被折叠?



