-개념
교착 상태 또는 데드락은 두 개 이상의 작업이 서로 상대방의 작업이 끝나기 만을 기다리고 있기 때문에 결과적으로 아무것도 완료되지 못하는 상태이다.
-데드락 발생조건
1) 상호 배제 (Mutual exclusion)
2) 점유 대기 (Hold and wait)
3) 비선점 (No preemption)
4) 순환 대기(Circular wait)
네가지 모두 성립할때 발생 / 하나라도 제거하도록하여 해결
-예방
자원의 낭비가 심함
1) 상호 배제 (Mutual exclusion) 부정 - 여러 개의 프로세스가 공유 자원을 사용할 수 있도록 한다.
2) 점유 대기 (Hold and wait) 부정 - 프로세스가 실행되기 전 필요한 모든 자원을 할당한다.
3) 비선점 (No preemption) 부정 - 자원을 점유하고 있는 프로세스가 다른 자원을 요구할 때 점유하고 있는 자원을 반납하고, 요구한 자원을 사용하기 위해 기다리게 한다.
4) 순환 대기 (Circular wait) 부정 - 자원에 고유한 번호를 할당하고, 번호 순서대로 자원을 요구하도록 한다.
'Computer Science' 카테고리의 다른 글
[인공지능] Normalization과 Regularization (0) | 2023.03.23 |
---|---|
[인공지능] 하이퍼 파라미터 튜닝은 어떻게 할 수 있을까? (0) | 2023.03.22 |
0309_1 context switching란? (0) | 2023.03.09 |
Transaction이란? ACID, Isolation Level (0) | 2023.03.09 |