Definition (1 mark)
In MVT, the OS treats all free memory as one contiguous pool. When a job arrives, it is loaded into exactly as much memory as it needs (no fixed partitions), creating variable-sized “holes” as jobs start and finish.
Working (1 mark)
- Free‐List Management: The OS maintains a linked list of free memory blocks (holes).
- Allocation Strategy: On each job arrival, the OS searches the free list (e.g., First-Fit, Best-Fit) for a hole ≥ job size, allocates exactly the job’s size, and splits the hole if larger.
- Deallocation: When a job terminates, its block is returned to the free list and adjacent holes are coalesced (merged) to avoid small unusable fragments.
Example (1 mark)
Assume total RAM = 1000 KB, OS occupies 100 KB → initial hole = 900 KB. Jobs arrive in order: J₁(212 KB), J₂(417 KB), J₃(112 KB), J₄(426 KB). First-Fit allocation yields:

Internal fragmentation = 0 KB (exact fit each time), but holes of various sizes appear.
4. Advantages (1 mark)
- No Internal Fragmentation: Jobs get exactly what they need.
- Flexible Multiprogramming Degree: Any number of jobs (subject to total free memory).
- Better Memory Utilization: Larger jobs can use all available space if no single fixed partition exists.
5. Disadvantages (1 mark)