Coding_Algorithm/Operating System
Semaphore - 코드로 이해하기
앞선 글들에서 공유메모리를 사용하기 위한 방법을 서술하였습니다. 그러나 이런 기법을 구현할 때, synchronization관련 이슈를 해결하는 것은 필수적입니다. 이런 부분들을 고려하지 않는다면 race condition등의 이슈가 발생합니다. 1. (IPC) Semaphore? 따라서 사용하는 대표적인 수단 중 하나가 semaphore입니다. 특히 이번 글에서 다룰 것은 IPC Semaphore인데, 이는 공유하는 자료 구조에 대한 통제된 접근을 위해서 사용됩니다. 주요 특징을 정리하자면, 기본적으로 semaphore은 양의 정수값을 가집니다. 자원에 프로세스가 접근할 때 마다 semaphore값은 감소합니다. semaphore값이 0이되면 semaphore값이 다시 양수가 될 때까지 프로세스의 접근..