본문 바로가기
IT/OS

Mutex, Semaphore, Critical Section

by FreeYourMind 2022. 2. 15.

 

Critical Section

- 다중 프로그래밍 OS에서 여러 프로세스가 데이터를 공유할 때, 코드 내에서 공유 데이터에 접근하는 부분

- 한 프로세스가 공유 데이터 코드 부분(Critical Section)을 수행 도중 다른 프로세스가 접근하는 경우, 데이터의 무결성이 보장되지 않음 -> 한 프로세스가 데이터를 점유하는 동안 다른 프로세스는 접근할 수 없게 막아야 함

 

Mutex Semaphores
Critical Section을 구현하기 위한 기술 중 하나
Critical Section이 적용되는 공유 데이터가 하나 Critical Section이 적용되는 공유 데이터가 하나 이상
lock으로 자원 점유, 해제 Count로 자원 점유, 해제
소유 가능 소유 불가능
Mutex를 소유하고 있는 쓰레드만 Mutex를 해제 가능 Semaphore를 소유하지 않은 쓰레드가 Semaphore 해제 가능

 

 

 

출처

https://goodgid.github.io/What-is-Thread/

https://jwprogramming.tistory.com/13

https://goodmilktea.tistory.com/28

 

 

'IT > OS' 카테고리의 다른 글

[Linux] shell script 함수의 return  (0) 2022.02.27
[Linux] Debian vs RHEL  (0) 2022.02.26
Process, Thread  (0) 2022.02.15
OS 부팅 과정  (0) 2022.02.12
커널 파라미터란?  (0) 2021.09.27

댓글