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 |
댓글