The Gateway to Computer Science Excellence
First time here? Checkout the FAQ!
+17 votes

Suppose the time to service a page fault is on the average $10$ milliseconds, while a memory access takes $1$ microsecond. Then a $99.99\%$ hit ratio results in average memory access time of

  1. $1.9999$ milliseconds
  2. $1$ millisecond
  3. $9.999$ microseconds
  4. $1.9999$ microseconds 
asked in Operating System by Veteran (52k points)
edited by | 4.5k views


effective memory access time = miss rate*(service time+memory acess time) +hit rate*memory access time .
From the above formula

$p=$miss rate$,1-p=$hit rate$,ma=$memory access time$,ps=$page fault time $(or)$ service time

$EMAT=p(ps+ma)+(1-p)\times ma$



Put the values $p=\frac{0.001}{100}=0.0001=1\times 10^{-4}=10^{-4},ps=10\times 10^{-3}sec,ma=10^{-6}sec$

we get $EMAT=10^{-4}(10\times10^{-3}sec)+10^{-6}sec$



$EMAT=1\mu sec+1\mu sec$

$EMAT=2\mu sec$

please correct me if I'm wrong$?$

3 Answers

+34 votes
Best answer
Since nothing is told about page tables, we can assume page table access time is included in memory access time.

So, average memory access time

$= .9999 \times 1 + 0.0001 \times 10,000$
$= 0.9999 + 1$
$= 1.9999$ microseconds

Correct Answer: $D$
answered by Veteran (407k points)
edited by
can TLB hit lead to page fault ?

Good question- I was too naive to say that. It won't happen normally, and in this question page fault occurs only during TLB miss meaning TLB hit cannot be more than 99.99%. But that can be assumed to be 100% for calculation purpose. Or we can even assume page table access time is included in the memory access time given here.

thanks !!!

page fault service time =  memory access time + additional overhead during page fault  or

page fault service time= additional overhead during page fault.
page fault service time includes memory access time.
plz elaborate it solution ... According to formula it's (%of page miss *time to service page fault.  )+(%page hit )*(memory access time)    whole divide by 100
memory access time is negligible compared to page fault service time
Nice exp
Can you please explain how 10,000 is coming?
Please provide a reference to your statement.
It is just conversion of miliseconds to microseconds
0 votes

Step 1: memory read to access the page table (1 micro second)

case 1) frame number found -> second memory access to access the desired page from memory (1 microsecond)

case 2) frame number not found -> page fault -> service the page fault (10000 microseconds)

Step 2:   (.9999*(first memory access time + second memory access time)) +

             (.0001*(first memory access time + time to service page fault))

             = (.9999*2)+(.0001*10001)

             =2.9999 micro seconds
answered by Active (4k points)
You are not wrong. But question doesn't say anything about page tables so we can assume nearly 100% TLB hit or that page table access time is also counted as part of memory access time given. (If 2 level paging is used we will need 2 page table accesses, so we can't assume a memory access for a page table access every time)
Thanks !!!
0 votes

option d

answered by Boss (33.9k points)

Related questions

Quick search syntax
tags tag:apple
author user:martin
title title:apple
content content:apple
exclude -tag:apple
force match +apple
views views:100
score score:10
answers answers:2
is accepted isaccepted:true
is closed isclosed:true
49,535 questions
54,117 answers
71,027 users