하다보니

Process Synchronization 4 본문

CS 지식/운영체제

Process Synchronization 4

claire 2022. 3. 7. 12:22

프로세스 동기화.

concurrency control이라고도 부른다. (병행 제어)

세마포어는 P연산과 V연산으로 구성되는 추상 자료형. 

monitor. - 프로그래밍 언어 차원에서 공유 데이터에 접근하는 문제를 monitor가 해결해서 프로그래머의 부담을 덜어주는 것. 

공유 데이터 접근시 접근하는 코드를 모니터에 정의해서 해당 코드로만 공유데이터에 접근할 수 있게 한다. 

모니터는 active한 프로세스가 하나만이 공유데이터에 접근할 수 있게 해준다. 

모니터를 쓰고 있던 프로세스가 다 쓰고 나가든지 잠들던지 하면 대기하던 프로세스가 들어온다. 

모니터에선 lock이 필요없다. 

condition variable. 

값을 가지는 변수가 아닌 어떤 프로세스를 잠들게 하고 줄세우게 하기 위한 변수이다. 

wait와 signal 연산에 의해서만 condition variable에 접근 가능. 

x.signal은 잠들어 있는 프로세스를 깨워주라는 연산이다. 

생산자 프로세스는 공유 버퍼에 넣어주는 것. 

세마포어엔 lock을 나타내는 변수가 있었다.

 

 

'CS 지식 > 운영체제' 카테고리의 다른 글

Deadlock 1  (0) 2022.03.12
Process Synchronization 3  (0) 2022.02.18
Process Synchronization 2(Semaphores)  (0) 2022.02.16
Process Synchronization 1  (0) 2022.02.14
CPU scheduling 2  (0) 2022.02.11