728x90
반응형
🍳 공유자원이란?
멀티 스레드와 멀티 프로세스에서 여러개의 스레드 혹은 프로세스가 공유하는 데이터를 공유자원이라 합니다. 허나 이렇게 자원을 공유하는 과정에서 한가지 문제가 발생하는데 '경쟁 상태'라고 불리는 상황이다.
위 상황에서는 분명 변수 1을 두 개의 쓰레드가 각각 1씩 증가를 해주었기 때문에 최종적으로 3이 되어야 하지만 2가 되었습니다. 이러한 상태를 경쟁 상태라고 부릅니다.
🎲 임계영역(Critical Section)이란?
위에서 설명한 경쟁 상태가 발생할 수 있는 영역이 바로 임계 영역입니다. 때문에 임계영역에서 발생할 수 있는 문제를 해결하기 위해서는 3가지 조건을 지켜주어야 합니다.
1. 상호 배제 (Mutual exclusion) : 임계 영역에는 두 개 이상의 프로세스가 동시에 들어 올 수 없습니다.
2. 한정 대기 (Bounded waiting) : 프로세스가 임계 영역으로 들어가기 위해 대기가 무한정으로 길어지면 안됩니다.
3. 진행 (Progress) : 임계 영역에 동시에 여러개의 프로세스가 접근 하려할 때 우선순위를 적절히 결정해 주어야 한다.
🍳 교착상태(Dead Lock)란?
교착상태는 두 개 이상의 프로세스가 서로 점유중인 자원에 접근하기 위해서 무한정으로 대기 하는 상태를 말합니다.
반응형
'운영체제' 카테고리의 다른 글
[운영체제] 세그멘테이션 기법의 원리 (0) | 2023.05.23 |
---|---|
[운영체제] 페이징 기법의 원리 (0) | 2023.05.22 |
[운영체제] 메모리 단편화의 종류와 원인 (0) | 2023.05.22 |
[운영체제] 버퍼 오버 플로우(Buffer Over Flow)의 정의와 종류 (0) | 2022.10.30 |