반응형
교착상태, 데드락에 대해 알아봅시다. 운영체제 공부했으면 꼭 한번쯤은 들어봤을 법한 용어지.
둘 이상의 작업이 서로를 기다리다가 결국 둘다 ㅄ이 되는 상태.
한놈은 다른놈 작업이 끝나길 기다리고, 한놈은 다른놈이 작업을 시작하길 기다리는..뭐 그런 상태
교착상태가 일어나는 데에 조건이 있고, 또 그것을 관리하는 방법들이 몇가지 존재한다.
각각 4가지 씩 있으니.. 함 알아보자.
* 교착상태의 조건
1. 상호배제 (Mutual Exclusion) : 흔히 말하는 뮤텍스이다. 쉽게말해 "내가 자원쓸 때 너넨 쓰지마"
2. 점유와 대기 (Hold & wait) : 지가 자원을 점유하면서 다른 자원이 할당되길 기다리는 것
3. 비선점 (No preemption) : 할당된 자원이 있을땐 절대 뺏을 수 없다.
4. 순환대기 (Circular wait) : 각 프로세스는 순환적으로 연결되어 다음 자원을 기다린다.
이 조건들 중에 하나라도 만족하지 않으면 데드락은 일어나지 않는다.
* 교착상태의 관리
1. 교착상태의 예방 : 조건 4가지 중 하나를 사전에 불만족시키는 방법. 자원의 낭비가 심하다.
2. 교착상태의 회피 : 교착상태가 발생하면 피해가는 기법. 다음에 어떤 자원이 할당될지 알아야한다. (은행원 알고리즘)
3. 교착상태의 탐지 : 데드락 발생시 탐지하고 원인규명
4. 교착상태의 복구 : 교착상태로 조져놓은 자원을 회복
반응형
'IT 그리고 정보보안 > Knowledge base' 카테고리의 다른 글
디스크 가용공간 관리 (0) | 2021.04.17 |
---|---|
BIOS (Basic Input/Output System) (0) | 2021.04.17 |
운영체제(Operating System) 개요 (0) | 2021.04.17 |
플로피 디스크 (Floppy Disk) (0) | 2021.04.17 |
화면 모드와 비디오 메모리 (0) | 2021.04.17 |