본문 바로가기

SYSTEM

세마포어, 뮤텍스 차이

728x90
반응형

공유된 자원에 여러 프로세스가 동시에 접근 → 문제 발생 → 데이터를 한번에 하나의 프로세스만 접근하게 하는 동기화 방식

+ 임계 구역 : 프로그램 코드 상에서 공유 자원에 접근하는 부분

대표적인 동기화 도구 : 뮤텍스 / 세마포어

 

▶세마포어

 : 공유 자원에 여러 프로세스가 접근하는 것을 제한하는 방법

동기화 대상이 1개 이상일 때 사용

현재 공유 자원의 상태를 나타내는 하나의 값을 두어 상호배제를 달성하는 기법

▷ 정수 값은 접근할 수 있는 최대 허용치만큼 동시에 사용자 접근을 할 수 있게함

 

현재 수행중인 프로세스가 아닌 다른 프로세스가 세마포어를 해제 할 수 있음

 

+ 상호배제 : 동시 프로그래밍에서 공유 불가능한 자원의 동시 사용을 피하기 위한 알고리즘

 

▶뮤텍스 

: 동시 프로그래밍에서 공유 불가능한 자원의 동시 사용을 피하기 위해 사용하는 알고리즘

 

동기화 대상이 오직 1개

임계 구역을 가진 스레드들의 실행기간이 서로 겹치지 X / 각각 단독으로 실행되도록 함

하나의 쓰레드만이 들어옴

초기값을 1과 0을 가짐 ▷ 임계영역에 들어갈 때 lock을 걸어서 다른 접근 막음 ▷ 임계영역에 나올 때 lock을 해제

 
728x90
반응형

'SYSTEM' 카테고리의 다른 글

안디디버깅 종류  (1) 2023.01.05
프로세스, 스레드 차이  (0) 2023.01.05
하드웨어, 소프트웨어 BP  (0) 2023.01.05
멀티바이트, 유니코드  (0) 2023.01.05
PE  (0) 2023.01.03