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) |
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