3,620 views

For the implementation of a paging scheme, suppose the average process size be $x$ bytes, the page size be $y$ bytes, and each page entry requires $z$ bytes. The optimum page size that minimizes the total overhead due to the page table and the internal fragmentation loss is given by

1. $\frac{x}{2}$
2. $\frac{xz}{2}$
3. $\sqrt{2xz}$
4. $\frac{\sqrt{xz}}{2}$

Average amount of internal fragmentation per segment is y/2.

Average no of  pages per process segment is x/y.

Each page requires 'z' bytes of page table.

so each process segment requires page table size of xz/y bytes.

Total overhead per segment, therefore, due to internal fragmentation and page table entries, is

xz/y + y/2

To minimise the overhead, differentiate with respect to page size, p, and equate to 0:
d(xz/y + y/2)/dy =    -xz/y2 + ½ = 0
=> y = √(2xz)

So for example, if the average segment size were 256K, and the page table entry size were 8 bytes, the optimum page size, to minimise overhead due to page table entries and internal fragmentation, would be sqrt(2 × 256K × 8) = 2048 = 2K.

by

### 1 comment

Can you please post the resource you used to solve this question?