프로세스 동기화
- 프로세스 사이의 수행 시기를 맞추는 것
- 실행 순서 제어 - 프로세스를 올바른 순서대로 실행하기
- 상호 배제 - 동시에 접근해서는 안 되는 자원에 하나의 프로세스만 접근하게 하기
공유 불가능한 자원의 동시 사용을 피하기 위해 사용
공유 자원 - 공통으로 이용하는 자원
임계 구역 - 공유 자원에 접근하는 코드 중 동시에 실행하면 문제가 발생하는 코드 영역
두 개 이상의 프로세스가 임계 구역에 진입하고자 하면 둘 중 하나는 대기해야 함
레이스 컨디션 - 여러 프로세스가 동시 다발적으로 임계 구역의 코드를 실행하여 문제가 발생하는 경우
뮤텍스 락 - 동시에 접근해서는 안 되는 자원에 동시에 접근하지 않도록 만드는 도구. 상호 배제를 위한 동기화 도구
acquire(), release()
세마포 - 여러 스레드가 동시에 접근 가능하지만 제한된 개수만 허용
공유자원이 여러 개 있는 상황에서도 적용 가능한 동기화 도구
wait(), signal()
모니터 - 공유 자원과 공유 자원에 접근하기 위한 인터페이스를 묶어서 관리.