세마포어 (Semaphore) 다중 프로세스 혹은 다중 쓰레드 간에 발생할 수 있는 교착 상태 (Deadlock) 에 대한 해법 (모든 교착 상태에 대한 해법을 제시하지는 못하지만 고전적인 해법 중 하나) 기본적으로 상호 배제 알고리즘 (Mutual Exclusion) 기반 세마포어는 원자적(atomic)으로 제어되는 정수 변수로 프로세스간 접근할 수 있기 위해 프로세스 외부에 존재한다. Counting semaphore Semaphore S : 정수값을 가지는 변수로 P 와 V 라는 동작(operation)에 의해서만 접근할 수 있다. 세마포어 S는 현재 사용 가능한 자원 (resource)의 수를 의미한다. 이에 0 이면 접근 가능한 자원이 없는 것을 의미한다. P Operation : 임계 구역에 ..