상호 배제(Mutual Exclusion)
특정 자원을 한 번에 오직 하나의 프로세스만 사용할 수 있도록 제한하는 원칙으로, 교착 상태(Deadlock)가 발생하는 네 가지 조건 중 하나입니다.
한눈에 보는 정의
상호 배제(Mutual Exclusion)는 프린터나 특정 메모리 영역 같은 자원을 한 번에 오직 하나의 프로세스만 사용할 수 있도록 제한하는 원칙입니다.
자세히 알아보기
- 예문: "프린터처럼 동시에 여러 프로세스가 함께 쓸 수 없는 자원에는 상호 배제가 적용된다."
- 교착 상태(Deadlock) (교착 상태)이 성립하기 위한 네 가지 조건 중 하나이며, 여러 프로세스가 동시에 같은 자원에 접근해 발생하는 데이터 충돌을 막기 위해 반드시 필요한 원칙이기도 합니다.
- 이 조건 자체를 없애기는 현실적으로 어려운 경우가 많아, 교착 상태 예방은 주로 나머지 세 조건(점유와 대기, 비선점, 환형 대기)을 깨는 방식으로 이루어집니다.
- 여러 프로세스나 스레드가 공유 자원에 동시에 접근하지 못하도록 막는 락(Lock), 세마포어(Semaphore) 같은 기법이 상호 배제를 구현하는 대표적인 방법입니다.