Let a memory have four free blocks of sizes 4k, 8k, 20k, 2k. These blocks are…
2007
Let a memory have four free blocks of sizes 4k, 8k, 20k, 2k. These blocks are allocated following the best-fit strategy. The allocation requests are stored in a queue as shown below.
The time at which the request for J7 will be completed will be
- A.
16
- B.
19
- C.
20
- D.
37
Attempted by 62 students.
Show answer & explanation
Correct answer: B
Answer: 19 (J7 completes at time 19).
Reasoning: All requests are in a queue and are allocated in arrival order using best-fit. Simulate the allocations and frees to find when J7 finishes.
Initial free blocks: 4k, 8k, 20k, 2k.
At time 0 allocations (best-fit, queue order):
J1 (2k) → 2k block (finishes at time 4). J2 (14k) → 20k block (finishes at time 10). J3 (3k) → 4k block (finishes at time 2). J4 (6k) → 8k block (finishes at time 8).
Time 2: J3 frees the 4k block, but waiting requests (J5, J6, J7, J8) need larger blocks, so no allocation is possible then.
Time 4: J1 frees the 2k block; still no suitable block for the waiting 6k/7k/10k/20k requests.
Time 8: J4 frees the 8k block. The next in queue, J5 (6k), gets the 8k block and will finish at time 12.
Time 10: J2 frees the 20k block. The next waiting request, J6 (10k), gets the 20k block and finishes at time 11.
Time 11: J6 frees the 20k block. The next waiting request, J7 (7k), takes the 20k block (best-fit among available blocks) and runs for 8 units, finishing at time 19.
Therefore J7 completes at time 19.
A video solution is available for this question — log in and enroll to watch it.