728x90

※ 프로세스 교착상태 (Deadlock)

 

: 다중 프로그래밍 시스템에서 아무리 기다려도 결코 일어나지 않을 사건을 프로세스가 기다리며

  이상 진행되지 못하는 상태

 

 

 

  서로 다른 이상의 프로세스들이 서로 상대 프로세스가 차지하고 있는 자원을 놓아줄 것을 기다리면서

  자신이 가진 자원도 놓지 않음으로써 무한 대기 상태가 되는 것을 의미하며, 이러한 상태를

  환형 대기 (circular wait)라고 하며 교착상태의 예이다.

 

 

 

   

   

   

※ 교착상태 발생 조건

상호 배제 : 프로세스들이 각각 필요한 자원에 대해 배타적 통제권을 요구할 때 발생

점유와 대기 : 프로세스가 다른 자원을 요구하면서 자신에게 할당된 자원은 해제하지 않을 때 발생

비선점 조건 : 프로세스가 끝날 때 까지 할당된 자원을 해제 할 수 없을 때 발생

환형대기조건 : 프로세스들의 순환 사슬에서 이전 프로세스가 요청하는 자원을 점유하고

                       다음 프로세스가 점유하고 있는 자원을 요구할 경우 발생

   

   

   

※ 교착상태 해결 방안

예방 : 교착상태 발생조건을 사전에 부정

회피 : 교착상태 가능성을 배제하지 않고 적절히 피해가는 방법

탐지 : 교착상태 발생을 허용하고 발생시 원인 분석하여 해결하는 방법

복구 : 교착상태를 일으킨 프로세스를 종료하거나 해당 프로세스에 할당된 자원을 선점하여

            프로세스나 자원을 회복시키는 방법  

 

출처 : http://blog.naver.com/jundot/140199803519

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

+ Recent posts