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

+ Recent posts