기아 상태

위키백과, 우리 모두의 백과사전.
이동: 둘러보기, 검색

기아 상태(starvation 스타베이션[*])는 컴퓨터 과학 용어의 하나로, 프로세스가 끊임없이 필요한 컴퓨터 자원을 가져오지 못하는 상황으로, 이러한 자원 없이는 처리를 끝낼 수 없는 병행 컴퓨팅에서 마주치는 문제이다. 기아 상태는 스케줄링이나 상호 배제 알고리즘의 오류에 기인하지만 자원 누수에 의해 일어날 수도 있으며 포크 폭탄과 같은 서비스 거부 공격을 통해 고의적으로 발생할 수도 있다.

병행 알고리즘의 기아 상태의 불능을 무기아 상태(starvation-freedom), 락아웃 프리덤(lockout-freedom)[1], 유한한 우회 상태(finite bypass)[2]라고 한다. 여기서 "유한한 우회"란 공유 자원으로의 접근이 허가되기 전에 이 알고리즘의 어떠한 프로세스라도 유한한 횟수만큼 우회된다는 것을 뜻한다.[2]

스케줄링[편집]

기아 상태는 과도하게 단순한 스케줄링 알고리즘에 의해 발생하는 것이 보통이다.

같이 보기[편집]

각주[편집]

  1. Herlihy, Maurice; Shavit, Nir (2012). 《The Art of Multiprocessor Programming》. Elsevier. 24쪽. ISBN 9780123977953. 
  2. Raynal, Michel (2012). 《Concurrent Programming: Algorithms, Principles, and Foundations》. Springer Science & Business Media. 10–11쪽. ISBN 3642320279.