# GATE - 2018 | OS | Consider a process executing on an operating system that uses demand paging

## Question:

Consider a process executing on an operating system that uses demand paging. The average time for a memory access in the system is M units if the corresponding memory page is available in memory and D units if the memory access causes a page fault. It has been experimentally measured that the average time taken for a memory access in the process is X units.

Which one of the following is the correct expression for the page fault rate experienced by the process?

 A (D-M)/(X-M) B (X-M)/(D-M) C (D-X)/(D-M) D (X-M)/(D-X)

## Solution:

Let ‘P’ be page fault rate then, average memory access time
X = (1 - P)M + D × P
X = M ∙ PM + DP
(X - M) = P(D - M)
⇒ P = (X - M) / (D - M)

------------------------------------

Given, average time for a memory access = M units if page hits, and average time for a memory access = D units if page fault occurred.

And total/experimental average time taken for a memory access = X units.

Let page fault rate is p. Therefore,

Average memory access time = ( 1 – page fault rate) * memory access time when no page fault + Page fault rate * Memory access time when page fault

→ X = (1 – p)*M + p*D = M – M*p + p*D

→ X = M + p(D – M)

→ (X – M) = p(D – M)

→ p = (X – M) / (D – M)

Thank You