时钟分页替换算法

Clock paging replacement algorithm

本文关键字:替换算法 分页 时钟      更新时间:2023-10-16

时钟替换算法。 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: 无法打开

C:\Users\h\Documents\Visual Studio 2013\Projects\os clock\Debug\os clock.exe用于写入 C:\Users\h\Documents\Visual Studio 2013\Projects\os clock\os clock\LINK os clock
此错误

表示程序正在运行,尽管exe文件保持打开状态,但您再次命令编译器运行程序。首先关闭EXE文件比运行程序消除此错误。