더북(TheBook)

하나 더 알기 icon_onemore

교착 상태의 필요 충분 조건은 외우지 않고 이해하는 것이 좋다. 각 프로세스를 사람이라고 생각하면 이해하기 쉽다. 다음 그림은 프로세스 1이 자원 1을, 프로세스 2가 자원 2를 가지고 있는 상황이다. 이때 프로세스 1은 자원 2가 필요하고, 프로세스 2는 자원 1이 필요해 교착 상태가 발생한다.

▲ 그림 1-21 교착 상태 개념

상호배제는 하나의 공유 자원에 대해 하나의 프로세스만 사용할 수 있다는 개념이다. 만약 하나의 공유 자원을 여러 프로세스가 공유할 수 있다면 그림 1-21은 성립할 수 없다. 따라서 자원을 공유할 수 있게 되면 서로의 자원을 기다리는 상황을 예방할 수 있다.

점유와 대기는 하나의 프로세스가 이미 자원을 가진 상태에서 다른 프로세스의 자원을 갖기 위해 기다리는 상황이다. 프로세스가 자원을 요구할 때 필요한 자원 1과 자원 2를 모두 주거나 가진 자원이 없는 경우에만 자원을 할당함으로써 문제를 해결할 수 있다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.