
2개의 process가 critical section과 remainder section을 왔다갔다 거림.
turn값을 switch를 해서 2개의 process중 누가 실행이 되어야 하는지 알려준다.

따라서 기계어로 이해를 해야한다.
while문이 있는 두번째 구문에서 context switch가 발생해서 생기는 문제.
상호배제, 데드락, 기아를 해결할 수 있다 <- 피터슨 핵심
atomic operation = uninterruptible unit
2개의 명령어(swap 알고리즘)를 1개로 변환.
HW instruction으로 만듦.
동기화는
상호배제
데드락 회피
bounded waiting 회피
를 해야한다.