Consider the following two-dimensional array: int X[64][64]; Suppose that a system has 10 page frames and each
Question:
Consider the following two-dimensional array: int X[64][64];
Suppose that a system has 10 page frames and each frame is 256 words large (an integer occupies one word). Programs that manipulate the X array fit into exactly one page and always occupy page 0. The data are swapped in and out of the other three frames. The X array is stored in row-major order (i.e., X[0][1] follows X[0][0] in memory). Which of the two code fragments shown below will generate the lowest number of page faults? Explain and compute the total number of page faults for each code fragment. (Assume that the program instructions are not included in these calculations)
Fragment A
for (int j = 0; j < 64; j++)
for (int i = 0; i < 64; i++)
X[i][j] = 0;
Fragment B
for (int i = 0; i < 64; i++)
for (int j = 0; j < 64; j++)
X[i][j] = 0;