计算二维数组中的页面错误数

时间:2014-12-16 14:56:35

标签: c page-fault

// 1)

#include <stdio.h>
int A[1024][1024];
int main(void)
{
    int i, j=0;
    for (i=0 ; i < 1024 ; i++)
    {
        for (j=0 ; j < 1024 ; j++)
        {
            A[i][j] = 0; // 
        }
    }
}

// 2)

#include <stdio.h>
int A[1024][1024];
int main(void)
{
    int i, j=0;
    for (i=0 ; i < 1024 ; i++)
    {
        for (j=0 ; j < 1024 ; j++)
        {
            A[j][i] = 0; //
        }
    }
}

考虑二维数组A:int A[1024][1024];每个页面的 4kb int的大小为4byte)。操作矩阵的小进程驻留在页面0(位置0到1023)中。因此,每次取指令都来自第0页。

对于两个页面框架,以下数组初始化循环生成了多少页面错误,使用FIFO,LRU和Optimal替换,并假设第一个页面框架包含进程而另一个最初是空的?

1 个答案:

答案 0 :(得分:-1)

  1. 256(1024 * 1024/4096)
  2. 1024 * 256(1024 *(1024 * 1024/4096))