교착상태 (Deadlock)
멀티프로그래밍 환경에서 여러 프로세스가 한정된 자원을 사용하려고 서로 경쟁하는 상황에서 동기화를 시키지 않으면 inconsistency가 발생한다. inconsistency를 해결하고자 동기화를 해주었을 때 2가지 문제점이 발생할 수 있다. 교착상태; 데드락(deadlock) starvation 교착상태(Deadlock)란? 멀티프로세스 환경에서 프로세스A가 자원R1을 사용하고 있고 프로세스B가 자원R2를 사용하고 있다고 하자. 이런 상황에서 프로세스A가 자원R2를 요청하고 프로세스B가 자원R1을 요청한다. 프로세스A와 B는 모두 대기상태가 된다. 자원 R1과 R2는 현재 사용중이기 때문에 lock 걸려있으므로 프로세스A와 B는 실행상태가 될 수 없다. 각 프로세스들이 대기 상태에서 실행상태가 되지 못할..
2020.05.22