[OS] Deadlock

Deadlock이란


정의

두 개 이상의 프로세스가 서로 자원을 획득하지 못해 Race Condition이 발생하여 아무런 작업을 하지 못하는 상태



Deadlock 발생 조건


상호배제(Mutual Exclusion)

  • Critical Section에 하나의 프로세스 또는 스레드만 진입 가능하다

점유대기(Hold & wait)

  • 프로세스 또는 스레드가 자신이 가진 자원을 들고 원하는 자원을 획득할 때 까지 대기한다

비선점(Non-premption)

  • 프로세스 또는 스레드가 다른 프로세스 또는 스레드의 점유 자원을 선점(preemption) 하지 않는다

순환대기(Circular wait)

  • 두 개 이상의 프로세스 또는 스레드가 자원 점유 구조에 있어 사이클을 형성한다
Author: Song Hayoung
Link: https://songhayoung.github.io/2020/06/14/OS/Deadlock/
Copyright Notice: All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.