SMALL
동기화 기법에 Mutex와 Semaphore가 있습니다.
Mutex(뮤텍스)
- 공유된 자원의 데이터를 여러 쓰레드가 접근하는 것을 막는 것
- 문맥 교환이 필요 없음
- 프로세스들이 짧게 lock을 소유하는 경우 사용
- ex) 화장실 안에 변기가 3개가 있다고 쳐보자.. 뮤텍스 같은 경우는 각자 변기 앞에 줄을 서고 있음,, 근데 옆에 변기가 비어도,, 옆에 칸에 이동 안하고 자기가 선 줄에서 기다려야 한다고 생각하면 된다.
Semaphore(세마포어)
- 공유된 자원의 데이터를 여러 쓰레드가 접근하는 것을 막는 것
- Mutex보다 더 정교한 동기화 장치
- Mutext와 달리 가용 자원 개수가 여러 개 일수 있음
- ex) 화장실 안에 변기가 3개가 있는데, 세마포어 같은 경우는 화장실 입구에서 줄을 서서, 변기 비는 칸에 들어간다고 생각하면 뮤텍스랑 구분이 된다는 걸 알 수있음.
세마포어 문제점
상호 배제 보장이 안되며(모니터는 상호 배제 보장), 데드락 발생가능
LIST
'전공 > 운영체제' 카테고리의 다른 글
TLB(Translaction-lookaside buffer) (0) | 2021.07.08 |
---|---|
가상메모리 (0) | 2021.07.08 |
Starvation(기아현상), Aging(노화) (0) | 2020.09.17 |
Thread Pool(스레드 풀) (0) | 2020.09.17 |
페이지 테이블 (0) | 2020.09.14 |