GATE CS 2023 Set 1 — Question 57
Go beyond PYQs with Success TrackerAI-powered personalised practice and doubt support. Unlimited practice on eligible plans; AI usage limits apply.NAT+2 / -0HardPage Replacement AlgorithmsMemory ManagementOperating SystemDemand PagingArray Operations (1D, 2D)Arrays & StringsProgramming & Data StructuresArrays & Strings in CC Programming
Operating System → Arrays & Strings → Array Operations (1D, 2D)
Last updated
Question
Consider the following two-dimensional array D in the C programming language, which is stored in row-major order: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:The number of page faults generated during the execution of this code snippet is ________.
int D[128][128];
for (int i = 0; i < 128; i++)
for (int j = 0; j < 128; j++)
D[j][i] *= 10;
Correct answer
4096 to 4096
Solution
1.Array and Page Parameters:
- Array size: integers.
- Page size: 512 integers.
- Number of rows per page: rows per page.
- Total number of pages for the array: pages.
- Let the pages be . contains rows 0–3, contains rows 4–7, and so on.
- The array is stored in row-major order.
- The code uses a nested loop where the outer loop iterates over columns () and the inner loop iterates over rows (). This is a column-major access pattern.
- For a fixed column , the inner loop accesses .
- This sequence touches every page in order: (for ), then (for ), ..., up to (for ).
- Total physical frames available = 30.
- Total distinct pages accessed in one full iteration of the inner loop = 32.
- In the first iteration of the outer loop ():
- Accessing to fills the 30 frames (30 faults).
- Accessing causes a fault and evicts (LRU).
- Accessing causes a fault and evicts (LRU).
- Total faults for is 32.
- In subsequent iterations of the outer loop ():
- The loop starts by requesting . Since was evicted during the previous column's processing, it results in a fault.
- Because the reuse distance (32 pages) is greater than the number of frames (30), every transition to a new page block in the inner loop will result in a page fault.
- Number of page faults per column = 32.
- Total page faults = .
Continue learning with Success Tracker
A step still unclear? Work through it with support
Use Success Tracker to ask about the reasoning, then try another GATE CS question to check your understanding.
AI-powered practice· Unlimited practice on eligible plans
- PYQs with solutions
- Attempt available previous-year questions, then compare your reasoning with the worked solution. Coverage varies by stream.
- Practice that adapts
- Choose a topic, work on weaker areas and bookmark questions to revisit. Your attempts feed your progress tracking.
- AI doubt support
- Ask follow-up questions about a step or concept while practising, instead of stopping at the final answer.
Unlimited practice is available on eligible plans. Free practice and AI usage have limits; check the current plan allowances before choosing.
This page stays readable without an account. AI responses can be wrong; check them against the solution and source material.
More questions on Arrays & Strings
2026 Set 2 Q12The set T represents various traversals over binary tree. The set S represents the order of…2026 Set 2 Q19Consider the following three ANSI-C programs, P1, P2, and P3. P1 [code] P2 [code] **P3**…2026 Set 1 Q23Let be an odd number greater than 100. Consider a binary minheap with elements stored in an…2026 Set 2 Q23Which one of the following CPU scheduling algorithms cannot be preemptive?2026 Set 1 Q24Consider a hash table that is initially empty. The hash table is maintained…