CS
[CS / OS] 세마포어와 뮤텍스
따봉치치
2023. 10. 10. 14:24
세마포어(Semaphore)
공유된 자원의 데이터 혹은 임계영역 등에 프로세스나 스레드를 나타내는 값을 두어 상호배제 구현, 공유 자원에 접근할 수 있는 최대 허용치만큼 동시 사용자 접근 허용 (동기화 대상이 하나 이상)
- P 연산 : 임계 영역에 들어가기 전에 수행
- V 연산 : 임계 영역에서 나올 때 수행
뮤텍스(Mutex)
키를 기반으로 한 상호배제 기법, 이 객체를 소유한 스레드 혹은 프로세스만이 공유 자원에 접근 가능함 (동기화 대상이 하나)
- lock : 임계 구역에 들어간 권한 얻음
- unlock : 임계 구역을 모두 사용했음을 알림