세마포어1 [운영체제] 프로세스 동기화 문제와 해결 방법 - 경쟁상태, 임계구역, 뮤텍스, 세마포어 + 예시 코드 무엇이든지 하나일 때는 문제가 없다가, 둘 이상 혹은 n개 이상부터 모든 문제가 시작된다...! 운영체제의 프로세스 동기화에 대해 습득한 지식을 내가 이해한대로 정리해보았다. 1. Race condition(경쟁 상태) 공유하는 데이터에 동시에 접근하여 연산을 할 경우, 순서에 따라 상황별로 연산의 결과가 다르게 나올 수 있는 상태를 Race condition이라고 한다. 위 그림처럼 공유 변수인 sum을 두고 값을 1 증가시키는 프로세스 두 개가 동시에 실행된다면 순서에 따라 올바르지 않은 결과를 얻을 수 있다. 2. Critical Section(임계 영역) race condition을 방지하기 위해 공유 데이터에 대한 연산 과정은 반드시 하나의 프로세스/스레드에 의해서만 실행이 되어야 하는데 그 영.. 2023. 4. 9. 이전 1 다음