공유 메모리

    shared memory with semaphore

    앞서 'shared memory with mutex' 에서는 2개 이상의 프로세스에서 공유 메모리를 이용해 데이터를 공유할 때 Lock / Unlock을 위해 mutex를 사용하는 방법에 대해 살펴보았습니다. 이번 글에서는 공유메모리를 이용해 데이터를 공유할 때 여러 프로세스들이 semaphore을 이용해 Lock / Unlock 하는 방법에 대해 알아보겠습니다. 앞서 'shared memory with mutex'를 보신 분들이라면 쉽게 이해 하실 수 있는데요, 코드 중 mutex 관련된 코드 대신 semaphore 코드로 대체해 주는 것 밖에 없습니다. 저는 semaphore을 POSIX Spinlock API들을 사용하였습니다. semaphore는 커널에서 관리해주는 정수로서 0이하의 음수 값으로는..