728x90
※ 프로세스 교착상태 (Deadlock)
: 다중 프로그래밍 시스템에서 아무리 기다려도 결코 일어나지 않을 사건을 프로세스가 기다리며
더 이상 진행되지 못하는 상태
서로 다른 둘 이상의 프로세스들이 서로 상대 프로세스가 차지하고 있는 자원을 놓아줄 것을 기다리면서
자신이 가진 자원도 놓지 않음으로써 무한 대기 상태가 되는 것을 의미하며, 이러한 상태를
환형 대기 (circular wait)라고 하며 교착상태의 한 예이다.
※ 교착상태 발생 조건
① 상호 배제 : 프로세스들이 각각 필요한 자원에 대해 배타적 통제권을 요구할 때 발생
② 점유와 대기 : 프로세스가 다른 자원을 요구하면서 자신에게 할당된 자원은 해제하지 않을 때 발생
③ 비선점 조건 : 프로세스가 끝날 때 까지 할당된 자원을 해제 할 수 없을 때 발생
④ 환형대기조건 : 프로세스들의 순환 사슬에서 이전 프로세스가 요청하는 자원을 점유하고
다음 프로세스가 점유하고 있는 자원을 요구할 경우 발생
※ 교착상태 해결 방안
① 예방 : 교착상태 발생조건을 사전에 부정
② 회피 : 교착상태 가능성을 배제하지 않고 적절히 피해가는 방법
③ 탐지 : 교착상태 발생을 허용하고 발생시 원인 분석하여 해결하는 방법
④ 복구 : 교착상태를 일으킨 프로세스를 종료하거나 해당 프로세스에 할당된 자원을 선점하여
프로세스나 자원을 회복시키는 방법
728x90
'OS' 카테고리의 다른 글
프로세스 데드라인 스케쥴링 (0) | 2014.10.17 |
---|---|
캐시메모리 적중률(Hit Rate) (0) | 2014.10.17 |
선점형 비선점형 알고리즘 (0) | 2014.10.17 |
SJF(Shortest Job First) (1) | 2014.10.17 |
파이프라인(Pipeline) (0) | 2014.10.17 |