+21 votes
2.8k views

The overlay tree for a program is as shown below:

What will be the size of the partition (in physical memory) required to load (and run) this program?

1. $\text{12 KB}$
2. $\text{14 KB}$
3. $\text{10 KB}$
4. $\text{8 KB}$

edited | 2.8k views

## 4 Answers

+36 votes
Best answer

"To enable a process to be larger than the amount of memory allocated to it, we can use overlays. The idea of overlays is to keep in memory only those instructions and data that are needed at any given time. When other instructions are needed, they are loaded into space occupied previously by instructions that are no longer needed." For the above program, maximum memory will be required when running code portion present at leaves. Max requirement $=$ (max of requirements of $D,E,F$, and $G$. $=MAX( 12,14,10,14) =14$ (Answer)

by Active (1.2k points)
edited
0
+10 votes
DF travelling the tree, we find Root->A->E & Root->C->G have the maximum weights (2+4+8=14) & (2+8+4=14) respectively.

Ans :B
by Active (2.5k points)
0

Hi @Pronomita Dey 1 ji,

Could you please add some reference to support your answer. I will be great help.

+6 votes
traverse this as depth first left to right. when we visit a node for first time, it is loaded in main memory and when we visit it for last time, it is pulled out. so max size will be needed when we pull out D and load E in the main memory which is 14 KB.
by Junior (579 points)
0 votes
When the size of the program to be execute is bigger than main memory, than we can divide the program into modules, and then we can execute those modules independently (the modules size should be such that, the module+overlay driver can be stored in main memory) when one module finished we can load another by using overlay driver.

In this question to run the program we need 14 kb as it's maximum module size.

Difference between overlay and virtual memory is, virtual memory is taken care by OS (user dont need to write any software like overlay driver) whereas in overlay, user write the overlay driver so that we can run a process whose size is bigger than main memory.
by Active (1.7k points)
Answer:

+48 votes
3 answers
1
+17 votes
3 answers
2
+16 votes
2 answers
3