deadlock은 프로세스들이 서로가 가진 자원을 기다리며 block된 상태를 말한다.

 

deadlock의 발생조건 4가지

1. mutual exclusion

2. no preemption

3. hold and wait

4. circular wait

 

circular wait을 확인하기 위해 자원할당 그래프를 그려 확인 할 수 있다.

 

deadlock의 처리 방법 4가지

1. 예방 - deadlock의 발생조건 4가지를 막는 방법 - 비효율적

2. 회피 - 자원 할당그래프 알고리즘, bankers 알고리즘을 통해 최악의 상황에 deadlock이 발생할 수 있는지 여부 파악해서 프로세스에게 자원 줄지 안줄지 결정

3. 탐지 & 복구 - 연관된 프로세스 죽이기, 연관된 프로세스의 자원 뺏기

4. 무시 - 현대 OS 방식, 사용자가 처리하도록 놔둠, 나머지 방식이 오버헤드가 크기 때문에

 

'운영체제' 카테고리의 다른 글

9. Virtual memory  (0) 2022.06.09
8. 메모리  (0) 2022.06.09
6. 프로세스 동기화  (0) 2022.06.09
5. CPU 스케줄링  (0) 2022.06.09
4. 프로세스 생성  (0) 2022.06.09

+ Recent posts