Computer Science/정보처리기사
교착상태 개념
minjiwoo
2022. 10. 14. 10:53
728x90
교착상태 - 둘이상의 프로세스들이 자원을 점유한 상태에서 서로 다른 프로세스들이 점유하고 있는 자원을 요구하며 무한정 기다리는 현상
교착상태 발생 필요충분조건
1. 상호배제 - 공유자원은 한번에 한개의 프로세스만이 사용할 수 있어야 함
2. 환형대기 - 공유자원과 공유자원을 이용하기 위해 대기하는 프로세스들이 원형으로 구성되어 있어 자신에게 할당된 자원을 점유하면서 앞이나 뒤에 있는 프로세스의 자원을 요구해야함
3. 점유와 대기 - 최소한 하나의 자원을 점유하고 있으면서 다른 프로세스에 할당되어 사용되고 있는 자원을 추가로 점유하기 위해 대기하는 프로세스가 있어야 함
4. 비선점 - 다른 프로세스에 할당된 공유자원은 사용이 끝날 때까지 강제로 빼앗을 수 없어야 함
교착상태 해결방법
예방 - 가장 비효율적. 교착상태 발생의 네가지 조건중 하나를 제거
회피 - 은행원 알고리즘 , 교착상태가 발생할 가능성을 배제하지 않고 교착상태가 발생하면 적절히 피해감.
발견 - 시스템에 교착상태가 발생했는지 점검하여 교착상태에 있는 프로세스와 자원을 발견. 교착상태 발견 알고리즘과 자원 할당 그래프를 사용할 수 있음
회복 - 교착 상태를 일으킨 프로세스를 종료하거나 교착상태의 프로세스에 할당된 자원을 선점하여 프로세스나 자원을 회복하는 것
728x90