How to Remember Why Classic Solutions Fail
⚠️ Added for clarity (not directly from source)
- - Lock variable fails because check and set are separate steps (race window).
- - Strict alternation fails progress because it can force waiting even when critical section is free.
- - Disabling interrupts is unsafe for user-level processes and weak on multiprocessors.
- - TSL/XCHG fix atomicity but still waste CPU under busy wait.
- - Memory hook: Correctness, Fairness, Efficiency - evaluate each algorithm on all three.