GATE 2023 CS – Question 57
Consider the following two-dimensional array D in the C programming language, which is stored in row-major order: int D[128][128]; Demand paging is used for allocating memory and each physical page frame holds 512 elements of the array D. The Least Recently Used (LRU) page-replacement policy is used by the operating system. A total of 30 physical page frames are allocated to a process which executes the following code snippet:
for (int i = 0; i < 128; i++)
for (int j = 0; j < 128; j++)
D[j][i] *= 10;The number of page faults generated during the execution of this code snippet is ______.
Practise this question in The GATE Grind →
Show answer and explanation
Correct answer: 4096
Explanation
One page holds 4 rows, so the array occupies 32 pages. For each i, the inner loop cycles through all 32 pages in order. With only 30 frames under LRU, each new page is evicted before reuse, so each i gives 32 faults, and the total is 128 × 32 = 4096.