-
뮤텍스와 세마포어 (mutex and semaphore)CS 2021. 12. 5. 18:20
개념
- 세마포어는 프로세스간 공유된 자원에 대해서 여러 프로세스 또는 쓰레드가 정해진 갯수 이상으로 동시에 접근하는 것을 막는다.
- 뮤텍스는 쓰레드간 공유된 자원에 대해 여러 프로세스 또는 쓰레드가 동시에 접근하는 것을 막는다.
차이점
- 세마포어는 정수 값을 갖고 접근할 수 있는 최대 허용치 만큼 동시에 사용자 접근을 허용하지만 뮤텍스는 1,0의 값만 갖고 최대 하나의 접근만 허용한다.
- 세마포어는 소유할 수 없으므로 작업중이 아닌 다른 프로세스 또는 쓰레드가 세마포어를 해제할 수 있지만 뮤텍스는 락을 획득한 프로세스 또는 쓰레드만이 락을 해제할 수 있다.
- 세마포어는 파일 형태로 존재하며 시스템 전체에서 공유되지만 뮤텍스는 프로세스 내에서만 공유되며 프로세스 종료 시 자동으로 clear 된다.
'CS' 카테고리의 다른 글
HTTP와 HTTPS (0) 2021.12.12 TCP와 UDP의 차이점 (0) 2021.12.12 교착 상태와 기아 상태 (0) 2021.12.12 좀비 프로세스, 고아 프로세스 (zombie process, orphan process) (0) 2021.12.05 프로세스와 쓰레드 (0) 2021.12.05