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, what is the ratio of the number of page faults with T stored in row-major order to the number of page faults with T stored in column-major order?
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: A. 1024 : 1

Explanation

From the two preceding traces, row-major storage produces 17,408 page faults (every reference faults) while column-major storage produces only 17 page faults (one per page, sequential sweep). The ratio is therefore 17,408 : 17, and dividing both sides by 17 gives exactly 1024 : 1. This neat ratio is not a coincidence: it reflects that there are 1024 columns, and in row-major order every single element access faults (17,408 = 1024×17 faults) while in column-major order only 17 faults occur in total — so the ratio collapses to the column count, 1024. Hence option (i) is correct.

More Programming Languages and Computer Graphics questions