질문 177 · 실전 면접 답변
운영체제에서 기아 상태(Starvation)는 교착 상태(Deadlock)와 어떻게 다른가요?
이렇게 답해 보세요 (핵심 답변)
기아 상태는 시스템 전체는 계속 진행하고 있지만, 특정 작업이 우선순위나 잠금 경쟁에서 계속 밀려 CPU나 자원을 끝내 얻지 못하는 현상입니다. 모두가 서로를 기다리느라 아예 멈춰 버리는 교착 상태(Deadlock)와 달리, 우선순위 스케줄링이나 불공정한 락에서 주로 발생합니다. 이를 완화하려면 대기 시간이 길어진 작업의 우선순위를 점진적으로 높이는 에이징(Aging)이나 선입선출 기반의 공정한 큐를 검토하며, 전체 처리량과 지연 시간의 절충을 함께 따집니다.
함께 설명하면 좋은 이유 (꼬리질문 대비)
- 교착 상태는 순환 대기 등으로 관련된 실행 주체들의 진행 자체가 막히는 상태이므로 기아 상태와 발생 조건이 다릅니다.
- CPU 스케줄러의 공정성과 애플리케이션 잠금(Lock) 획득의 공정성은 서로 다른 계층에서 각각 점검해야 합니다.
면접에서 자주 하는 실수
시스템의 평균 처리량이 높다는 사실만으로 모든 개별 작업이 제때 실행 기회를 얻고 있다고 단정하면 안 됩니다.
원리와 예제까지 읽기
공식 참고 자료
질문 목록 출처 ↗ · 원본 177번을 바탕으로 질문과 답변을 새로 정리했습니다.