Week 3: Synchronization

Lecture notes:
Synchronization: Lecture slides (6 per page)
Supplemental notes:
The Little Book of Semaphores, Allen B. Downey, Green Tea Press.

Concurrent, asynchronous, independent, synchronous, parallel, race condition, synchronization, critical section, mutual exclusion, deadlock, starvation, livelock, locks, acquire/release, interrupts, lockstep synchronization, busy waiting, spin lock, atomic instructions, test-and-set, compare-and-swap, fetch-and-increment, priority inversion,

semaphores, down & up operations on semaphores, event counters, read, advance, & await operations on event counters, condition variables, monitors, wait & signal (or notify) operations on condition variables.

messages, rendezvous, mailboxes, direct addressing, indirect addressing, deadlocks, conditions for deadlock, assignment edge, assignment edge, Hold and wait, non-preemption, circular wait, resource allocation graph.