Soft Ware/Windows 구조와 원리

뮤텍스와 세마포어

달려가보자 2011. 11. 13. 21:26

뮤텍스란 MUTual EXclusion 으로 우리말로 해석하면 '상호 배제'라고 한다.

 

Critical Section을 가진 Thread들의 running time이 서로 겹치지 않게, 각각 단독으로 실행되게 하는 기술이다.

 

 * Critical Section : 프로그램 상에서 동시에 실행될 경우 문제을 일으킬 수 있는 부분.

 

만약 어느 Thread에서 Critical Section을 실행하고 있으면 다른 Thread들은 그 Critical Section에 접근할 수 없고 앞의 Thread 가 Critical Section을 벗어나기를 기다려야 한다.

 

 


그리고 세마포어란 역시 데드락을 피하기 위한 기술 중에 하나이다.

 

Thread 가 Critical Section에 접근할때 (또는 processer로 부터 resource를 할당받을때) 해당 Thread는 세마포어의 카운트를 감소시키고 수행이 종료된 후엔 세마포어의 카운트를 원래대로 증가시킨다.

 

다시말하면 세마포어는 일종의 신호등의 역할을 하는것이다.

 

현재 실행중인 Thread가있으면 빨간불을 켜서 다른 Thread가 들어오지 못하도록 하는것이다.

 

'Soft Ware > Windows 구조와 원리' 카테고리의 다른 글

함수 호출  (0) 2011.11.16
복귀 주소가 가지는 특징  (0) 2011.11.16
Windows 구조와 원리  (0) 2011.11.16
레지스터  (0) 2011.11.09
세그먼트  (0) 2011.11.09