C#之OTP算法实现页面置换算法
- 本程序定义两个数组,其中一个数组长度为三,在程序中充当内存块大小的作用;另外一个数组是已经赋值的,在程序中扮演内存外页面序号的作用!初始代码如下:
int[] arr = {
7, 0, 1, 2, 0, 3, 0, 4, 2, 3, 0, 3, 2, 1, 2, 0, 1, 7, 0, 1 };
int[] arr1 = new int[3];
- 设置循环把arr数组中前三个元素赋值给arr1,表示最先进入内存的三个序号。此时内存中已满,如果内存外的序号需要访问内存,且内存中不存在将要访问的序号,那么需要将内存中相应的序号置换出来!这里用一个循环实现该功能。
for (int i = 0; i < 3; i++)
{
arr1[i] = arr[i];
}
Console.WriteLine(" 系统存在页面的序号如下: ");
for (int i = 0; i < arr.Length; i++)
{
Console.Write(arr[i]);
Console.Write(" ");
}
Console.WriteLine();
Console.WriteLine(" 首先进入内存的三个页面序号是: ");
for (int i = 0; i < 3; i++)
{
Console.Write(arr1[i]);
Console.Write(" ");