
동기화 문제, 세마포어 & 뮤텍스
·
Computer Science/운영체제
동기화 (Synchronization)프로세스들 간에 자원에 대한 접근 순서를 정하거나 특정 기능의 실행 순서를 정하는 행위즉, 여러 프로세스/스레드를 동시에 실행해도 공유 데이터의 일관성을 유지하는 것프로세스의 코드 영역 中 공유 자원을 접근하는 코드를 `임계 영역`이라고 부름경쟁 조건 문제 = 임계 영역의 문제경쟁 조건 (Race Condition)여러 개의 스레드나 프로세스가 동시에 공유 자원에 접근하면서, 실행 순서에 따라 결과가 달라지는 문제즉, 누가 먼저 실행되느냐에 따라 결과가 달라짐이는 예측 불가능한 결과나 시스템의 오류를 초래할 수 있음왜 경쟁 조건이지 ❓여러 스레드 (프로세스)가 공유 자원에 먼저 접근하려고 `경쟁(Race)`하기 때문경쟁 결과에 따라 의도치 않게 동작할 수 있으므로 `..