교착 상태

🌹 정리 by 장미(https://velog.io/@newbiekim/)

교착 상태의 개요

1. 교착 상태의 정의

교착 상태(dead lock): 2개 이상의 프로세스가 다른 프로세스의 작업이 끝나기만 기다리며 작업을 더 이상 진행하지 못하는 상태.

교착 상태는 아사 현상과 비슷해 보이지만 차이점이 있다.

*아사 현상은 OS가 잘못된 정책을 사용하여 특정 프로세스의 작업이 지연되는 문제이고, 교착 상태는 여러 프로세스가 작업을 진행하다 보니 자연적으로 일어나는 문제이다.

*아사 현상: 작업 시간이 긴 프로세스가 작업 시간이 짧은 프로세스 때문에 작업이 진행되지 못하는 경우를 말한다. 아사 현상은 몇 번 이상 양보했다면 더 이상 양보하지 않도록 조정하는 에이징으로 해결할 수 있다.

따라서 OS는 감시를 하다가 교착 상태가 발생하면 강압적으로 해결해야 한다.


2. 교착 상태의 발생