[OS] Deadlock (교착상태)와 Deadlock 처리
Deadlock 프로세스는 실행을 위해 여러 hw자원(resources)을 필요로한다. 그리고 이 자원을 사용하는 application들이 있다. OS는 그 자원을 잘 나누어주어야한다. 예를들어 아래와같은 상황이 발생하면서도 공교롭게도 가끔, 아차! 싶으면, 교착상태가 발생한다. P1이 자원의 일부는 가졌으나 일부자원A는 가지지 못했을 떄, waiting해야한다. 다른 프로세스P2가 자원A을 가지려고 waiting하고있었을 때 둘다 기다리는 상태이므로 교착상태(Deadlock)의 가능성이 존재한다. 이 4가지가 모두 만족될 때, 교착상태가 일어날 수도있다. Mutual exclusion : 상호 배타. 한사람이 쓰고있으면 다른사람이 쓰지못하는 경우 Hold and wait : 어떤 자원을 가지고있으면서 ..
2020.04.24