반응형
데드락(Deadlock, 교착 상태)이란?
데드락
운영체제에서 데드락(교착상태)이란 시스템 자ㅣ원에 대한 요구가 뒤엉킨 상태
즉 둘 이상의 프로세스가 다른 프로세스가 ㅇ점유하고 있는 자원을 서로 기다릴때 무한 대기에 빠지는 상황
데드락의 발생 조건
- 상호 배제
- 한 번에 프로세스 하나만 해당 자원을 사용할 수 있다. 사용 중인 자원을 다른 프로세스가 사용하려면 요청한 자원이 해제될 때까지 기다려야 한다.
- 점유 대기
- 자원을 최소한 하나 보유하고, 다른 프로세스에 할당된 자원을 점유하기 위해 대기하는 프로세스가 존재해야 한다.
- 비선점
- 이미 할당된 자원을 강제로 빼앗을 수 없다(비선점).
- 순환 대기
- 대기 프로세스의 집합이 순환 형태로 자원을 대기하고 있어야 한다.
- 위 4가지 상활이 모두 발생 되어야 데드락이 걸린다.
데드락(Deadlock)의 해결법
데드락의 해결법을 크게 3가지로 분류할 수 있습니다.
- 데드락이 발생하지 않도록 예방(prevention) 하기
- 데드락 발생 가능성을 인정하면서도 적절하게 회피(avoidance) 하기
- 데드락 발생을 허용하지만 데드락을 탐지(detection)하여, 데드락에서 회복하기
반응형
'컴퓨터공학 > 운영체제' 카테고리의 다른 글
운영체제(5) 가상 메모리 (0) | 2022.06.17 |
---|---|
운영체제(4) CPU 스케줄러 (0) | 2022.06.17 |
운영체제(2) 프로세스와 스레드의 차이 (0) | 2022.06.17 |
운영체제(2) 메모리 구조 (0) | 2022.06.17 |
운영체제(1) 운영체제란? (0) | 2022.06.17 |