[운영체제 os] 프로세스 동기화 Process Synchronization

동기화 한 시스템에 여러 프로세스가 존재하고(병행적, concurrent) 각 프로세스가 독립적으로 동작한다. (비동기적, asynchronous) 이렇게 프로세스가 비동기적으로(서로의 실행순서나 정보를 공유하지 않고) 여러 프로세스가 동시에 한 자원을 쓰려고 할 때 문제가 발생할 수 있다. 이런 문제를 해결하기 위해 프로세스간 정보를 공유하는 것 혹은 대화하는 것을 동기화라고 한다. 임계영역 (cs, critical section) 공유데이터(shared data)에 접근할 수 있는 코드 영역이다. 둘 이상의 프로세스가 동기에 이 임계영역에 접근할 수 없도록 상호배제를 해줘야 한다. 상호배제 조건 3가지 1. 상호배제: 임계 영역 안에 프로세스가 있을 때 다른 프로세스의 진입을 막는다. 2. 진행 pr..