Building up to Semaphores
Many of the operations in the P() and V() implementations still need to occur atomically with each other
- We can disable interrupts or use spinlocks to acheive that
- It’s OK to use these primitives in very limited doses
- The key here is that they’ll definitely never be held for long