
임계 구역(Critical Section)과 뮤텍스, 세마포어, 모니터
·
👶🏻 CS/Operating System
경쟁 상태여러 프로세스들이 동시에 데이터에 접근하는 상황에서, 어떤 순서로 접근하냐에 따라 결과 값이 달라지는 것을 경쟁 상태(Race Condition)이라고 한다. 이러한 문제를 방지하기 위해 동기화 기법이 사용되며, 이때 공유 자원에 접근하는 코드가 임계 구역(Critical Section)이다. Critical Section Problem(임계 구역 문제)임계 구역은 하나의 프로세스나 스레드만 들어갈 수 있는 코드 영역이다.예를 들어, 여러 스레드가 같은 메모리 영역에 값을 쓰려고 하면 충돌이 발생할 수 있는데, 이때 각 스레드가 동시에 해당 메모리 영역을 쓰지 않도록 보호해야 한다. 이러한 설계를 위해서는 3가지 요구조건을 만족해야 한다. 1. Mutual Exclusion(상호 배제)하나의..