Critical Section Problem 은 thread들이 공통 변수를 변경하고 파일의 쓰기 작업들을 수행하는 구역에서 한 Thread가 Critical Section에 들어갔을 경우, 다른 Thread들은 해당 구역 접근이 배제되어야 합니다.
위의 경우를 해결하기 위해 Peterson's Solution 이 사용됩니다. 2개의 Thread가 있을 때 flag를 사용하여 접근을 배제합니다.
Mutext Lock이란 임계구역에 들아가기 전에 lock을 획들하고 나올때는 lock을 반환합니다.
available 변수를 가지고 lock의 가용 여부를 판단합니다.
Semaphore(세마포어)
카운팅 세마포어는 프로세스가 임계구역에 들어갈 때 wait값이 감소하고, lock을 반납할 때(signal) 값이 증가합니다. 세마포어가 0이 되면 모든 자원들이 사용되고 있다는 의미입니다.
참조
[2] - https://hongku.tistory.com/18
참조
[1] - https://darkluster.tistory.com/51
'개발 > 잡다개발' 카테고리의 다른 글
함수와 메소드의 차이 (0) | 2020.06.24 |
---|---|
Synchronization Examples (22) | 2020.06.18 |
CPU Scheduling (0) | 2020.06.18 |
ICMP (0) | 2020.06.14 |
TCP UDP (0) | 2020.06.14 |