Computer Science/운영체제
2022. 6. 1.
Chapter 06. Synchronization Tools
배경) 이전장에서 프로세스가 병렬로 실행되는 경우를 살펴봤다. 프로세스가 병렬 실행될 때 여러 프로세스에 공유하는 데이터의 무결성 문제에 대해서 알아본다. 동시에 여러 프로스세스가 동일한 데이터에 접근해서 조작하고 실행 결과가 순서에 의존하는 경우를 Race Condition 이라고 부른다. 따라서 한순간에 하나의 프로세스만이 데이터를 조작하도록 보장해야 한다. 따라서 이러한 이유로 동기화가 필요한 것이다. 위 그림을 보면 a, b, c와 1,2,3의 문맥 교환 순서에 따라서 최종 값이 달라짐을 알 수 있다. 컴퓨터를 통해 동일한 연산을 실행하면 항상 같은 값을 출력해줘야 하기 때문에 동기화가 필수적이다. Critical Section) n개의 프로세스가 존재할 때 각 프로세스는 critical sect..