Deep dive
Schedulers balance latency, fairness, and throughput:
- Preemptive uses time slices and priority policies.
- Cooperative is simpler but unsafe for untrusted tasks.
- Real-time scheduling prioritizes deadlines over fairness.
- Context switch cost affects time slice tuning.
Examples
Time-slicing:
Run task A for 5ms -> preempt -> run task B -> repeat
Common pitfalls
- Assuming higher priority always improves throughput.
- Using cooperative scheduling for mixed workloads.
- Ignoring priority inversion.
Interview follow-ups
- How do you prevent starvation?
- What is priority inversion and how is it mitigated?
- When would you use real-time scheduling?