다익스트라는


일반변수 접근은 읽거나 쓰는 건 가능하지만


다른 프로세스가 끼어들면 동기화가 보장되지 않는다고 말함


그래서


여기서 

Such an alternative is given by introducing
a) among the common variables special purpose integers, which we shall call "semaphores".


세마포어를 정의함


세마포어란?->특별한 목적을 가진 정수(Interger) 이다.


among the repertoire of actions, from which the individual processes have to be constructed, two new primitives, which we call the "P-operation" and the "V-operation" respectively. The latter operations always operate upon a semaphore and represent the only way in which the concurrent processes may access the semaphores.


그리고 이 세마포어를 조절하는 것을 


P 연산/ V연산 이라고 함


즉 세마포어는 직접 접근을 허용하지 않고, 반드시 원자적 제어 연산을 통해서만 간접 제어가 된다는 뜻.


즉 P와 V 자체가 이미 원자적 연산을 내포함


그럼 세마포어 값이랑 종류가 뭐냐?

we shall talk about "binary semaphores" and "general semaphores" respectively. The definition of the P- and V-operation that I shall give now, is insensitive to this distinction.


바이너리 세마포어


제네럴 세마포어


이 2개로 구분됨. 바이너리 세마포어는 이후 뮤텍스 개념으로 발전하고

V(s)는 세마포어 S의 값을 +1 , 즉 indivisible 연산으로 수행함


아까 내가 말한게 이거인거.


그래서 세마포어는


상태 기반 동기화 모델이며, P/V는 원자적 연산이다라고 하는거


제대로 알려줘도 욕을 먹는다 내가


이 새끼야 너도 그냥 나처럼 노가다해라