2.11 병렬성과 명령어 : 동기화 Task들이 종속 관계 및 협력 관계에 있을때 데이터 경쟁관계(Race Condition)의 위험이 있다. 즉, 이벤트의 일어나는 순서에 따라 프로그램의 결과가 달라질 수 있는 상황이다. 동기화 메커니즘은 일반적으로 사용자 수준 소프트웨어 루틴에서 제공되는데 이 소프트웨어 루틴들은 하드웨어가 제공하는 동기화 명령을 사용한다. 여기서는 간단하게 lock, unlock 동기화를 사용한다. lock, unlock은 critical section이라 칭하는 하나의 공간을 생성하며 이 공간은 오직 하나의 프로세서만이 실행 가능하다.즉, Mutual Exclusion하게 실행된다는 의미이다. 이런 방법을 제공하기위해 원자적 교환(Atomic swap)을 사용하게된다. 이는 레지스..