상호 배제에 의해 나타나는 문제점으로, 둘 이상의 프로세스들이 자원을 점유한 상태에서 

서로 다른 프로세스가 점유하고 있는 자원을 요구하며 무한정 기다리는 현상






교착상태 발생의 필요 충분 조건


상호배제(Mutual Exclusion)

 - 한 번에 한 개의 프로세스만이 공유 자원을 사용할 수 있어야 한다.


점유와 대기(Hold and Wait)

 - 최소한 하나의 자원을 점유하고 있으면서 다른 프로세스에 할당되어 

사용되고 있는 자원을 추가로 점유하기 위해 대기하는 프로세스가 있어야 한다.


비선점(Non-preemption)

 - 다른 프로세스에 할당된 자원은 사용이 끝날 때까지 강제로 빼앗을 수 없어야한다.


환형 대기(Circular Wait)

 - 공유 자우너과 공유 자원을 상요하기 위해 대기하는 프로세스들이 원형으로 구성되어 있어 

자신에게 할당된 자원을 점유하면서 앞이나 뒤에 있는 프로세스의 자원을 요구해야 한다.








교착 상태 해결 방법


예방 기법

 - 교착상태 발생의 4가지 조건 중에서 하나를 제거

 - 상호 배제 부정

 - 점유와 대기 부정

 - 비선점 부정

 - 환형 대기 부정


회피 기법

 - 교착 상태가 발생할 가능성을 배제하지 않고, 교착 상태가 발생하면 적절히 피해나가는 방법

 - 다익스트라가 제안한 은행원 알고리즘을 사용


발견 기법

 - 교착 상태가 발생했는지 점검하여 교착 상태에 있는 프로세스와 자원을 발견하는 것으로, 

자원 할당 그래프 등을 사용함


회복 기법

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

'프로세사나 자원을 회복하는 것




'ComputerScience > OperatingSystem' 카테고리의 다른 글

단편화  (0) 2017.10.16
주기억장치 할당 기법 - 연속 할당 기법  (0) 2017.10.16
병행 프로세스와 상호 배제  (0) 2017.10.11
프로세서 스케줄  (0) 2017.10.10
프로세스  (0) 2017.10.10

+ Recent posts