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.