교착상태
-
[운영체제] 데드락(Dead lock), 교착상태가 뭐지? + 해결방법ComputerScience/운영체제 2020. 6. 13. 17:27
데드락(Dead lock)이란? '교착 상태'라고 하며 한정된 자원을 여러 곳에서 사용하려고 할 때 발생할 수 있다. (DB의 트랜잭션들이 하나의 Table에 대해 연산을 시도할 때도 발생할 수 있다) 데드락 발생 요건 네 가지 조건을 모두 충족할 때 발생한다. 1. 상호배제(Mutal exclusion) 프로세스들이 필요로 하는 자원에 대해 배타적인 통제권을 요구한다. 2. 점유와 대기(Hold and Wait) 자원을 가지고 있는 상태에서 다른 프로세스가 사용하고 있는 자원의 반납을 기다리는 것. 3. 비선점(Non Preemptive) 다른 프로세스의 자원을 강제로 가져올 수 없음. 4. 환형대기(Circle wait) 각 프로세스가 순환적으로 다음 프로세스가 요구하는 자원을 갖고 있는 것 데드락 ..