데드락과 데드락을 해결하는 방안
·
CS/Operating Systems
데드락이란? 두 개 이상의 프로세스가 자원을 점유한 상태에서 다른 프로세스가 점유하고 있는 자원을 요구하며, 서로의 작업을 끝나기만을 기다리며 둘 다 영원히 끝나지 않는 것. 교착상태의 발생 조건 아래의 4가지가 모두 성립되어야 한다. 1. 상호 배제 - 자원은 한 번에 한 프로세스만 사용 가능. 2. 점유 대기 - 최소한 하나의 자원을 점유하고 있으며, 다른 프로세스에 할당되어 사용하고 있는 자원을 점유하기 위해 대기 상태가 있어야 함. 3. 비선점 - 다른 프로세스에 할당된 자원은 사용이 끝날때 까지 강제로 빼앗을 수 없음 4. 순환 대기 - 여러 프로세스가 있을 때, 각 프로세스들이 꼬리를 물며 점유한 자원을 대기한 상태여야하고, 마지막 프로세스가 첫 프로세스가 점유한 자원을 요구해야함. 비유하자면..