반응형
- 김덕수 교수님 운영체제 강의를 보고 정리한 내용임을 밝힙니다.
Starvation(기아 상태)는 무엇인가?
무한 연기는 교착상태에 빠지지 않은 프로세스가 시스템의 자원 스케줄링 정책 때문에 아주 먼 미래에 일어나는 상태입니다. 원래는 발생 가능한 상태였지만, CPU의 다른 프로세스들에게 선점 당하여 우선순위에 밀려 발생하지 못하는 상태를 뜻합니다. 이 해결책으로는 에이징을 사용하길 권장합니다. 에이징이란, 어떤 자원을 기다린 시간에 비례하여 프로세스에게 우선순위와 같은 보상을 부여하여 실행할 수 있게끔 하는 기법입니다.
Deadlocked(교착 상태)는 무엇인가?
프로세스나 스레드가 결코 일어날 수 없는 특정 이벤트를 기다린다면, 해당 프로세스나 스레드가 “교착 상태에 빠졌다” 라고 합니다. 교착 상태는 Blocked/Asleep 상태와 Deadlock 상태로 나누어서 생각해 볼 수 있습니다. 먼저 Blocked/Asleep 상태는 프로세스가 특정 이벤트를 기다리거나, 필요한 자원을 기다리는 상태입니다. 그리고 Deadlock 상태는 프로세스가 발생 가능성이 없는 이벤트를 기다리는 경우에 해당합니다.
공통점과 차이점
교착 상태 | 무한 연기 상태 | |
공통점 | 자원을 기다리는 상태 | |
기다리는 자원 | CPU | 특정 이벤트 |
발생 가능성 | 있음 | 없음 |
반응형