Operating Systems: Three Easy Pieces - Semaphores
동시성 문제를 해결하기 위해 cv, lock을 추가했죠. 이제는 다익스트리아가 도입한 세마포어에 대해 알아봅시다. 세마포어의 핵심은 다음과 같습니다 원자적 정수 변수: 세마포어 값은 중단 없이 한 번에 변경되어야 합니다. 카운팅 기능: 0 또는 1만 갖는 바이너리 세마포어(뮤텍스와 유사)와 0 이상의 정수 값을 가지는 카운팅 세마포어가 있습니다. 동기화: 자원이 없으면 프로세스는 대기(block)하고, 자원이 생기면 깹니다 세마포은 동시성을 관리하는 논리적 제어장치 또는 충돌을 방지하는 메커니즘입니다. Semaphores: A Definition 세마포어는 두 개의 루틴을 조작할 수 있는 정수 값을 가진 객체입니다. 초기 값이 동작을 결정하기 때문에 다른 루틴을 호출하여 상호작용이 생기기 전에 초기화가 필요합니다. ...