CS/운영체제

Starvation(기아 상태) VS. Deadlocked(교착 상태)

모딩 2020. 5. 22. 21:54
반응형

 

 

- 김덕수 교수님 운영체제 강의를 보고 정리한 내용임을 밝힙니다.

 

 

출처: HPC Lab.

 

 

Starvation(기아 상태)는 무엇인가?

무한 연기는 교착상태에 빠지지 않은 프로세스가 시스템의 자원 스케줄링 정책 때문에 아주 먼 미래에 일어나는 상태입니다. 원래는 발생 가능한 상태였지만, CPU의 다른 프로세스들에게 선점 당하여 우선순위에 밀려 발생하지 못하는 상태를 뜻합니다. 이 해결책으로는 에이징을 사용하길 권장합니다. 에이징이란, 어떤 자원을 기다린 시간에 비례하여 프로세스에게 우선순위와 같은 보상을 부여하여 실행할 수 있게끔 하는 기법입니다.

 

Deadlocked(교착 상태)는 무엇인가? 

프로세스나 스레드가 결코 일어날 수 없는 특정 이벤트를 기다린다면, 해당 프로세스나 스레드가 “교착 상태에 빠졌다” 라고 합니다. 교착 상태는 Blocked/Asleep 상태와 Deadlock 상태로 나누어서 생각해 볼 수 있습니다. 먼저 Blocked/Asleep 상태는 프로세스가 특정 이벤트를 기다리거나, 필요한 자원을 기다리는 상태입니다. 그리고 Deadlock 상태는 프로세스가 발생 가능성이 없는 이벤트를 기다리는 경우에 해당합니다.

 

 

 

공통점과 차이점

 교착 상태무한 연기 상태 
공통점자원을 기다리는 상태
기다리는 자원CPU특정 이벤트
발생 가능성있음없음

 

반응형

'CS > 운영체제' 카테고리의 다른 글

OSI 7계층  (0) 2020.12.07