👣 공유 자원 프로세스, 스레드가 함께 접근 가능한 자원. 2개 이상의 프로세스가 동시에 읽거나 쓰는 상황을 경쟁 상태(race condition)라고 한다. 👣 임계 자원 프로세스, 스레드의 접근 순서로 결과가 달라질 수 있는 코드 영역. 이를 해결하기 위한 방법은 뮤테그, 세마포어, 모니터 3가지가 있다. 위 방법들은 모두 Lock이라는 메커니즘을 이용하고 있다. 👣 뮤텍스 특정 공유 자원을 1 개의 프로세스가 점유하고 있다면 Lock을 설정해 점유하고 있는 와중엔 다른 프로세스가 접근하지 못하도록 한다. 👣 세마포어 뮤텍스가 1개의 프로세스 점유만 허용했다면 세마포어는 n개의 프로세스 점유를 허용한다. (단, n >= 1) 구성 요소는 '정수 값', 'wait 함수', 'signal 함수'로 이뤄져..