Definition (1 mark)
In MFT, main memory is divided at system generation into a fixed number of static partitions. Each partition can hold exactly one process; the number and sizes of partitions never change at run‐time.
Working (1 mark)
- The OS keeps a Partition Table recording for each partition:
- Partition ID
- Size
- Status (Free/Occupied)
- On a job’s arrival, the OS picks a free partition whose size ≥ job size (e.g. using First-Fit), loads the job there, and marks it Occupied.
- When the job finishes, its partition is freed.
Example (1 mark)
Suppose memory is divided into 4 fixed partitions and 4 jobs arrive:
| Partition |
Size (KB) |
Status |
| P₁ |
300 |
Free |
| P₂ |
500 |
Free |
| P₃ |
200 |
Free |
| P₄ |
600 |
Free |
Jobs (in arrival order):
| Job |
Size (KB) |
Assigned Partition |
Internal Fragmentation (KB) |
| J₁ |
212 |
P₁ (300) |
300 – 212 = 88 |
| J₂ |
417 |
P₂ (500) |
500 – 417 = 83 |
| J₃ |
112 |
P₃ (200) |
200 – 112 = 88 |
| J₄ |
426 |
P₄ (600) |
600 – 426 = 174 |
Advantages (1 mark)
- Simplicity: Easy to implement – fixed partitions & simple allocation.
- No External Fragmentation: Partitions are static; freed partitions can always be reused without coalescing.
Disadvantages (1 mark)
- Internal Fragmentation: Wasted space inside a partition when a job is smaller.
- Poor Utilization: A large job cannot be loaded if no single partition is big enough, even if total free memory suffices.
- Rigid Multiprogramming Degree: The number of concurrent jobs ≤ number of partitions.