时钟分页替换算法
Clock paging replacement algorithm
时钟替换算法。 arr - 是物理内存 arr2 - 页(虚拟内存)如果 arr 没有页面,则替换 R=0 的帧;如果所有帧都有 R=1;初始化所有 R=0;如果帧有页面且 R=1 。什么都不做.否则 R=1;
#include<iostream>
using namespace std;
struct Frame
{
char content;
int R;
};
int main()
{
int arr2[] = { 1, 2, 3, 4, 1, 2, 5, 6 };
Frame arr[3];
arr[0].R = 1;
arr[0].content = arr2[0];
arr[1].R = 1;
arr[1].content = arr2[1];
arr[2].R = 1;
arr[2].content = arr2[2];
arr[3].R = 1;
arr[3].content = arr2[3];
for (int i = 0; i < 3; i++)
{
for (int j = 4; j < 8; j++)
{
if ((arr[i].content == arr2[j]) && (arr[i].R = 1))
{
cout << "Frame have this page";
}
else if ((arr[i].content == arr2[j]) && (arr[i].R = 0))
{
arr[i].R = 1;
}
else if ((arr[i].content != arr2[j]) && (arr[i].R = 1))
{
arr[i].R = 0;
}
else
{
arr[i].content = arr2[j];
arr[i].R = 1;
}
}
}
for (int i = 0; i < 3; i++)
{
cout << arr[i].content << " " << arr[i].R << endl;
}
system("pause");
return 0;
}
错误 1 错误 LNK1168: 无法打开
此错误
表示程序正在运行,尽管exe文件保持打开状态,但您再次命令编译器运行程序。首先关闭EXE文件比运行程序消除此错误。
相关文章:
- C++ 分而治之的算法问题
- 堆分配对于大型块中的分页是否更有效?
- 如何在 QML 中显示来自 QTextDocument 的分页文本?
- 动态表中的 SQLite 分页
- 最佳页面替换算法
- 实施第二次机会需求页面替换算法
- 如果我剩下大量RAM,会发生记忆分页
- 如何在C++应用程序中支持输出分页
- 正在寻找元组替换算法
- 使用写入函数对 int 表进行分页
- list.h list_del() 给出内核分页错误
- 时钟分页替换算法
- 提升::几何 R*树和分页/延迟加载
- 如何设置QSqlQueryModel的Qt::Vertical headerData在进行分页时增加数字
- 什么会导致分页池增加
- 数组内存分配-分页
- 如何使用std::vector等动态数据结构并防止分页
- 最近未使用 (NUR) 页面替换算法
- 如何防止分页在QTextDocument块或框架
- 使用控制台进行分页