Practice
Solution
Step 1: Identify external fragmentation effect
External fragmentation means free memory is split into small noncontiguous blocks.Step 2: Understand system response
Compaction rearranges memory to create larger contiguous free blocks, enabling allocation.Step 3: Evaluate other options
Immediate rejection (B) ignores compaction; buddy system merges only buddies, not all blocks (C); internal fragmentation (D) is unrelated to external fragmentation.Final Answer:
Option D -> Option DQuick Check:
Compaction is the standard response to external fragmentation [OK]
- Assuming buddy system merges all free blocks automatically
- Believing internal fragmentation can solve external fragmentation
- Thinking system rejects requests without compaction
Solution
Step 1: Recall inode pointer hierarchy
Inodes have a fixed number of direct pointers, followed by single, double, and triple indirect pointers for larger files.Step 2: Understand pointer escalation
When direct pointers are full, the file system uses single indirect pointers, which point to blocks containing more direct pointers.Step 3: Eliminate incorrect escalations
The inode does not skip levels; it uses single indirect before double indirect pointers.Step 4: Clarify inode content storage
Inodes never store file content directly; they only store metadata and pointers.Final Answer:
Option A -> Option AQuick Check:
Single indirect pointers extend data block addressing after direct pointers [OK]
- Skipping pointer levels (double indirect before single indirect)
- Assuming inode can dynamically add direct pointers
- Thinking inode stores file content directly
Solution
Step 1: Understand aging purpose
Aging gradually increases the priority of waiting processes to ensure they eventually get CPU time, preventing starvation.Step 2: Identify downside
Over-aggressive aging can cause priority inversion, where lower-priority processes gain higher priority than intended, disrupting scheduling fairness.Step 3: Analyze options
Aging increases priority of waiting processes to prevent starvation but can cause priority inversion if overused correctly states aging's purpose and downside. Aging decreases priority of high-priority processes to prevent deadlock but may cause livelock incorrectly associates aging with deadlock prevention and livelock. Aging randomly changes priorities to balance load but can lead to starvation of critical processes misrepresents aging as random priority changes. Aging forces processes to release resources periodically but increases overhead significantly confuses aging with resource release policies.Final Answer:
Option A -> Option AQuick Check:
Aging = priority boost to prevent starvation, risk of priority inversion.
- Confusing aging with deadlock prevention
- Thinking aging randomly changes priorities
Solution
Step 1: Analyze each statement
A is correct: thrashing happens when total working sets exceed memory.
B is correct: working set model adjusts frames dynamically.
C is incorrect: increasing processes usually increases memory pressure, worsening thrashing.
D is correct: load control limits active processes to prevent thrashing.Final Answer:
Option C -> Option CQuick Check:
More processes usually increase thrashing risk, not reduce it.
- Believing more processes reduce thrashing
- Confusing load control with working set adjustments
- Ignoring total memory constraints
Solution
Step 1: Recall Banker's Algorithm assumptions
The algorithm assumes the system starts in a safe state to guarantee deadlock avoidance.Step 2: Analyze the scenario
If the system is already unsafe, granting requests--even if individually safe--cannot guarantee overall safety.Step 3: Evaluate options
A ignores the unsafe starting state.
B and C describe actions outside the algorithm's scope.Final Answer:
Option A -> Option AQuick Check:
Banker's Algorithm cannot recover from unsafe states; it only avoids entering them.
- Assuming safe requests can fix unsafe states
- Believing the algorithm preempts resources
- Thinking system restarts are part of the algorithm
