# GATE1998-2.18, UGCNET-June2012-III: 48

5.8k views

If an instruction takes $i$ microseconds and a page fault takes an additional $j$ microseconds, the effective instruction time if on the average a page fault occurs every $k$ instruction is:

1. $i + \dfrac{j}{k}$

2. $i +(j\times k)$

3. $\dfrac{i+j}{k}$

4. $({i+j})\times {k}$

recategorized
1
T = [ (1)(i+j) + (k-1)(i) ] / k = (ik + j)/k

Page fault rate $=\dfrac{1}{k}$
Page hit rate $=1-\dfrac{1}{k}$
Service time $=i$
Page fault service time $= i+j$

Effective memory access time,

$\quad =\dfrac{1}{k}\times (i+j)+\left(1-\dfrac{1}{k}\right)\times i$

$\quad=\dfrac{(i+j)}{k}+i-\dfrac{i}{k}$

$\quad=\dfrac{i}{k}+\dfrac{j}{k}+i-\dfrac{i}{k}$

$\quad=i+\dfrac{j}{k}$

So, option (A) is correct.

edited by
1
thats the beauty of gate .... nice ans ...
0

since each instruction takes i microseconds and a page fault occurs after k instructions. so after ki microseconds, 1 page fault occurs.

in ki time, 1 page fault

in 1 time, i/ki page fault

so doesn't this make the rate as 1/ki  ???

My question is here.

1
Okay then : total time to execute k instructions= ik + j

so effective instruction time = (ik+j)/k

= i+j/k     Ans
0

I think

page fault takes an additional $j$

making the access hierarchical. Right? Also,  there seems to be no option for simultaneous...

0
Yes..." page fault takes an additional j microseconds"  makes it hierarchical acesss
Here, given that On an average page fault occurs at every 'k' seconds. So, probability of getting a page fault is (1/k).

Effective Instruction Time = Normal instruction execution Time + Average Page Fault Service Time

i.e. Avg Page Fault Service Time = prob. of getting page fault * page fault service time =(1/k )* j

so its "i + (1/k)*j".

Lets take a example

no of instruction =6

i=4(Normal instrction execution time)

j=2(Additional time incase of page fault)

k=3(Page fault occurs on every kth instruction)

Total time required=4+4+(4+2)+4+4+(4+2)=28

Average time=28/6=4.66

Now substitute the i,j,k values in options

i+j/k=4+2/4=4.66

0
Good One

Thanks
One more way could be. Let us we have 100 instruction then page fault will occur 100/k times. So

Total execution time  = 100*i +  (100/k)*j

So avg execution time  = (Total execution time)/(Total number of instruction) = i + (j/k).

ans a)

Consider k instructions:

 instruction # 1 2 3 ... k time i i i ... i+j

Effective instruction time = (i*k + j)/k = i + j/k.

1 vote
One more way we can do is as follows

EMAT= m+p(ps)...{y=mx+c}

i+j/k

A)
1 vote
1 instruction takes i ms.

k instructions will take k*i ms.

1 page fault in every k instructions. Page Fault Service Time is j ms.

So,

Total time required to execute k instructions is (k*i+j) ms.

so here ,

Effective instruction time = (k*i+j)/k

i.e, i + j/k

## Related questions

1
2.6k views
Consider a schema $R(A,B,C,D)$ and functional dependencies $A \rightarrow B$ and $C \rightarrow D$. Then the decomposition of R into $R_1 (A,B)$ and $R_2(C,D)$ is dependency preserving and lossless join lossless join but not dependency preserving dependency preserving but not lossless join not dependency preserving and not lossless join
A computer system supports $32$-bit virtual addresses as well as $32$-bit physical addresses. Since the virtual address space is of the same size as the physical address space, the operating system designers decide to get rid of the virtual memory entirely. ... can be made more efficient now Hardware support for memory management is no longer needed CPU scheduling can be made more efficient now
A counting semaphore was initialized to $10$. Then $6 P$ (wait) operations and $4V$ (signal) operations were completed on this semaphore. The resulting value of the semaphore is $0$ $8$ $10$ $12$