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

Directions (Q91–95): Consider the following program fragment that deals with a table T with 17 rows and 1024 columns, computing an average for each column and printing it (i is the row index and j is the column index):

for j = [0...1023] {
  temp = 0;
  for i = [0...16]
    temp = temp + T[i][j];
  print(temp / 17.0);
}

T[i][j] and temp are 32-bit floating-point values and memory is word addressable. temp is kept in a processor register, so accessing temp does not involve a memory reference. The main memory is paged and holds 16 pages of 1024 words each. The page replacement policy is least recently used (LRU). Unless stated otherwise, T is stored in the virtual address space in row-major format.

What is the ratio of page faults for the row-major to the column-major arrangement?

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

Show answer & explanation

Correct answer: A. 1024 : 1

Explanation

17,408 : 17 = 1024 : 1.

More System Software and Operating System questions