semop
[Unix Programming] Semaphore
[Unix Programming] Semaphore
2021.12.04synchronization 기법 중 하나인 semaphore에 대해 알아본다. Semaphore는 공유된 자원에 대한 접근을 제어 하는 방식으로 1개의 공유되는 자원에 제한된 개수의 process나 thread가 접근할 수 있도록 한다. 다시 말해서, process간의 message 전송 또는 shared memory를 통해 특정 데이터를 공유하게 되는 경우 여러 개의 process가 동시에 접근하면서 문제가 발생할 수 있는데 이 접근을 제어하는 것이 semaphore이다. 이는 mutex와 유사한 기능을 수행하지만, 다음과 같은 차이가 있다. 하나의 process/thread의 접근을 제어하는 mutex와 달리, semaphore는 공유자원에 접근할 수 있는 process/thread의 수를 나타내는..