All mock tests are FREE till 31 December — register to save your progress

Using the same table T (17 rows × 1024 columns, 32-bit word-addressable entries, 16 page frames of 1024 words each, LRU) and the same column-averaging program as above, now consider T stored in row-major format. How many page faults will be encountered while running the program?
for j = 0 to 1023:
  temp = 0
  for i = 0 to 16:
    temp = temp + T[i][j]
  print(temp / 17.0)

Pick an option to check yourself, or open the answer below.

Show answer & explanation

Correct answer: B. 17,408

Explanation

As shown for the hit-ratio question on this same program, row-major storage makes each of the 17 rows exactly one page, and the inner loop cycles through all 17 of those pages (0..16) using only 16 available frames — the classic LRU worst case where every reference is a fault, with no hits at all. The program makes a total of 17 rows × 1024 columns = 17,408 memory references, and since the hit ratio is 0, every one of them is a page fault. So the number of page faults equals the total number of references, 17,408, option (ii).

More Programming Languages and Computer Graphics questions