동기화 : 협력적으로 실행되는 프로세스들을 올바르게 실행하기 위한 것
프로세스 동기화 : 프로세스들 사이의 수행 시기를 맞추는 것
실행 순서 제어를 위한 동기화 : 프로세스를 올바른 선서대로 실행하기
상호 배제를 위한 동기화 : 동시에 접근해서는 안 되는 자원에 하나의 프로세스만 접근하게 하기
생산자와 소비자가 총합이라는 동일한 데이터를 다룰 때 있어서 동시에 접근하면 안 되는 자원에 동시에 접근했기 때문에 총합의 데이터가 잘못되는 문제가 발생한다.
공유 자원 : 동시에 실행되는 프로세스들이 공동으로 두고 작업을 하는 자원 (전역 변수, 파일, 입출력장치, 보조기억장치)
임계 구역 : 자원에 접근하는 코드 영역으로 여러 개의 프로세스가 임계 구역에 진입하고자 하면 둘 중 하나는 먼저 진입한 프로세스의 작업이 마무리될 때까지 기다려야 한다.
레이스 컨디션 : 잘못된 실행으로 인해 여러 프로세스가 동시 다발적으로 임계 구역의 코드를 실행하여 문제가 발생하는 경우
동시에 접근하면 안 되는 자원에 동시에 접근하지 않도록 만드는 도구 (상호 배제를 위한 동기화 도구)