728x90
반응형
1. 데드락 (Deadlock)
- 2개 이상의 프로세스(또는 스레드)가 자원을 얻지 못하여 작업을 더 이상 진행하지 못하고 다음 단계로 넘어가지 못하는 상태
- 무한 대기 상태라고도 한다.
(1) 데드락(Deadlock) 발생 조건 4가지
- 상호 배제 (Mutual Exclusion)
- 자원은 한 번에 하나의 프로세스 또는 스레드만이 사용할 수 있다.
- 점유 대기 (Hold and Wait)
- 최소한 하나의 자원을 점유하고 있으면서 다른 프로세스에 할당되어 사용되고 있는 자원을 추가로 점유하기 위해 대기하는 프로세스가 있어야 한다.
- 즉, 이미 자원을 사용중인데 다른 프로세스가 사용하고 있는 자원을 사용하기 위해 대기하고 있는 프로세스가 존재해야 한다.
- 비선점 (No Preemption)
- 다른 프로세스에 할당된 자원은 사용이 끝날 때 까지 강제로 뺏을 수 없다.
- 순환 대기 (Circular wait)
- 대기하는 프로세스의 집합이 순환 형태로 자원을 대기하고 있어야 한다.
반응형
'Knowledge > 이론' 카테고리의 다른 글
MMU와 TLB (1) | 2024.01.26 |
---|---|
가상 메모리와 페이징 시스템 (0) | 2024.01.23 |
뮤텍스와 세마포어 (0) | 2024.01.23 |
스레드 동기화 (Thread-Synchronization) (0) | 2024.01.23 |
객체지향 설계 5대 원칙 (SOLID 원칙) (0) | 2024.01.17 |