프로그래밍/운영체제

Starvation 과 Deadlock의 차이

준코딩 2020. 6. 24. 18:09

 Starvation 한 줄 설명

작업을 해야 하는 프로세스가 어떠한 우연 또는 문제로 인해서 프로세서(CPU)를 할당받지 못해 Ready 상태에서 더 이상 진행하지 못하는 상태

 

 

 Deadlock 두 줄 설명

작업을 해야 하는 프로세스가 접근할 수 없는 특정자원을 Asleep 상태에서 무한히 기다리는 상태.

예) p1 이 공유자원 1을 선점한 상태에서 공유자원 2를 얻기 원하고, p2는 공유자원 2를 선점한 상태에서 공유자원 1을 얻기 원하는 상황

 

 

 Starvation과 Deadlock의 차이

1. 실행상태의 차이

 : Starvation 은 ready 상태에서 무한 대기를 하는 겁니다.

   Deadlock 은 asleep 상태에서 무한대기를 합니다.

 

2. 필요한 자원의 차이

 : Starvation 은 프로세서(CPU)를 할당받아야 running 상태로 진행될 수 있습니다.

   Deadlock 은 필요한 공유자원을 얻어야 ready 상태가 되어 cpu를 할당받을 수 있습니다.

 

한빛미디어