2014년 3월 23일 일요일



뮤텍스와 세마포어


여러 프로세스가 동일한 자원을 조작할 경우 세마포어가 편리하다. 
멀티 프로세서 환경에서 여러 CPU 동시에 참조하는 테이블을 보호하기 위해서는 스핀락이 일반적이다. 

뮤텍스상호배제라고 하며Ciritical Section 가진 thread들이 Running Time 서로 겹치지 않게 각각 단독으로 실행되는 기술이다접근 조율을 위해 locking  unlocking 사용한다뮤텍스 객체는 동시 사용이 불가하다. 

세마포어리소스의 카운터 시간을 확보하는 리소스에 대해 사용한다세마포어는 커널의  지정된 저장장치 내의 값으로  프로세스는  값을 통해 사용 상태를 파악할  있다세마포어는 이진수를 사용하거나 추가 적인 값을 가질  있다세마포어를 이용하는 프로세스는 값을 확인하고 자원 사용시  값을 변경하여 다른 세마포어가 기다리도록 한다. 


  • 프로세스  메시지 전송 혹은 공유 메모리로 특정 데이터 공유시  프로세스만 접근하도록   세마포어를 이용 
  • 바이너리 세마포어 0  1 가진 세마포어 



뮤텍스와 세마포어 차이점

  • 세마포어는 뮤텍스가   있지만뮤텍스는 세마포어로 불가능. 
  • 세마포어는 소유가 불가능 하지만뮤텍스는 소유 가능 
  • 뮤텍스는 자신이 소유한 스레드가  뮤텍스를 해제할  있지만세마포어는 소유하지 않은 스레드가 해제해야 한다. 
  • 뮤텍스는 범위를 가지며프로세스 종료시 clean up되며세마포어는 시스템  범위에 걸쳐 있고 파일 형태로 존재한다. 
  • 뮤텍스는 동기화 대상이 하나  세마포어는 동기화 대상이 하나 이상일  사용.

1 개의 댓글:

  1. Golden Nugget Casino & Hotel - Mapyro
    Golden 오산 출장샵 Nugget Casino & Hotel. 4-star. 청주 출장안마 Find 제주 출장안마 reviews and discounts for AAA/AARP members, seniors, long 경상남도 출장샵 stays & 춘천 출장안마 military.

    답글삭제