[운영체제] 세마포어와 뮤텍스의 차이점

2020. 4. 29. 00:28

MutexSemaphore의 차이 설명하기

세마포어는 뮤텍스가 될 수 있지만 뮤텍스는 세마포어가 될 수 없다. 이 말에 대해 설명을 해보기 위해서는 각각의 개념을 우선 알아야 한다.

 

첫 번째, 세마포어는 현재 공유 자원에 접근할 수 있는 쓰레드, 프로세스의 수를 나타내는 값을 두어 상호배제를 달성하는 기법이다.

 

두 번째, 뮤텍스는 한 쓰레드, 프로세스에 의해 소유될 수 있는 key를 기반으로 한 상호배제 기법이다.

 

이의 두 개념을 비교해 보았을 때, 세마포어는 하나의 스레드만 들어가게 할 수 있고 여러 개의 스레드가 들어가게 할 수 있는데 이 때 하나의 스레드만 들어가게 허용한다면 이것은 뮤텍스와 같은 동작을 하는 것이 되므로 세마포어는 뮤텍스가 될 수 있다. 그러나, 뮤텍스는 두 쓰레드가 동시에 접근하는 것이 불가능하므로 뮤텍스는 세마포어가 될 수 없다는 뜻이 된다.

BELATED ARTICLES

more