[Process & Thread] 교착상태(Deadlock)
·
CS/OS
1. 교착 상태 두 개 이상의 프로세스들이 서로가 가진 자원을 기다리며 중단된 상태, 둘 이상의 스레드가 다른 스레드가 점유하고 있는 자원을 서로 기다릴때 무한대기에 빠지는 상황입니다.스레드일수도 있고 프로세스일 수도 있습니다. 2. 교착상태의 원인 (4가지 모두 성립) 상호 배제 : 한 프로세스가 자원을 독점하고 있으며 다른 프로세스들은 접근 불가능 점유 대기 : 특정 프로세스가 점유한 자원을 다른 프로세스가 요청하는 상태 비선점 : 다른 프로세스가 점유중인 프로세스의 자원을 강제로 선점 불가 순환 대기: 대기중인 프로세스들이 사이클을 이룸, 서로가 서로의 자원을 요구하는 상황 3. 해결방법 4가지 1) 무시 : 아무조치 안함 2) 예방 : 4가지중 하나가 성립되지 않도록 미리 예방. 비용이 커서 비추..