Practice
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: Clarify inode contents
Inodes store metadata (permissions, timestamps, size) and pointers, but NOT file names.Step 2: Confirm pointer role
Inodes contain direct and indirect pointers to data blocks.Step 3: Understand hard links
Multiple directory entries can reference the same inode, enabling hard links.Step 4: Recognize inode size
Inodes are fixed-size and do not store variable-length file names.Final Answer:
Option B -> Option BQuick Check:
File names are stored in directory entries, not inodes [OK]
- Assuming inodes store file names
- Confusing directory entries with inodes
- Believing inode size varies with file name length
Solution
Step 1: Understand resource ordering
Ordering resources prevents circular wait by forcing processes to request resources in a global order.Step 2: Identify drawbacks
Strict ordering can cause processes to wait longer than necessary, reducing concurrency and system throughput.Step 3: Analyze other options
The system can still deadlock due to hold and wait despite ordering is incorrect because ordering eliminates circular wait, thus preventing deadlock from that condition. No preemption condition is violated by enforcing ordering is false; ordering does not violate no preemption. Mutual exclusion is no longer required when ordering is enforced is false; mutual exclusion is still required for non-shareable resources.Final Answer:
Option A -> Option AQuick Check:
Ordering trades off concurrency for deadlock prevention.
- Believing ordering removes all deadlock conditions
- Confusing ordering with preemption
- Assuming mutual exclusion is eliminated by ordering
Solution
Step 1: Understand quantum equal to longest burst
Setting quantum to longest burst means processes run mostly to completion without preemption.Step 2: Compare to FCFS
This behavior mimics FCFS, where processes run in arrival order without interruption.Step 3: Analyze fairness and turnaround
Fairness decreases because shorter processes wait longer, losing RR's time-sharing benefit. Turnaround time approaches FCFS values.Step 4: Evaluate incorrect options
Turnaround time decreases significantly and fairness improves due to fewer context switches is wrong because fewer context switches do not improve fairness. Fairness remains the same but turnaround time increases due to longer waiting times is wrong as fairness changes. Both turnaround time and fairness improve because processes get longer uninterrupted CPU bursts is wrong because fairness does not improve.Final Answer:
Option B -> Option BQuick Check:
Quantum = longest burst -> RR ≈ FCFS -> fairness ↓, turnaround ~ FCFS.
- Assuming fairness always improves with larger quantum
- Believing fewer context switches always reduce turnaround
- Ignoring that RR degenerates to FCFS with large quantum
Solution
Step 1: Understand burst time estimation impact
Estimations can be inaccurate, causing the scheduler to preempt based on wrong assumptions.Step 2: Analyze consequences
Frequent unnecessary preemptions increase overhead and reduce efficiency.Step 3: Why other options are incorrect
B: Scheduler won't always pick wrong process; estimates can be close.
C: Non-preemptive scheduling is a design choice, not forced by estimation.
D: Starvation is not eliminated by estimates; it depends on scheduling policy.Final Answer:
Option A -> Option AQuick Check:
Estimation errors cause scheduling inefficiency via unnecessary preemptions.
- Assuming estimates always cause wrong scheduling
- Believing estimation removes starvation
