728x90
교착 상태가 무엇인지 설명해주세요.
다중 프로그래밍 환경에서 여러 프로세스가 제한된 resource 를 두고 경쟁하는 경우 발생하고 프로세스가 결코 일어날 수 없는 특정 이벤트를 무한정으로 기다리는 상태
교착 상태에서 기아 상태의 해결 방법에 대해 설명해보세요.
교착 상태
교착 상태는 여러 프로세스가 동일 자원 점유를 요청할 때 발생
기아 상태
기아 상태는 여러 프로세스가 부족한 자원을 점유하기 위해 경쟁할 때, 특정 프로세스는 영원히 자원 할당이 안되는 경우를 주로 의미함
프로세스가 작업을 수행하지 못하고 무한히 기다리는 상태
현실적으로 수행할 수 있는 작업이지만, 무기한 연기로 인해 수행할 수 없는 상태에 빠지는 것.
프로세스의 우선순위에 따라 자원을 할당할 경우, 우선순위가 낮은 프로세스들은 기아 상태에 빠질 수 있다.
해결 방법
이때 우선순위의 변화를 주는 aging 기법을 사용하여 기아 상태를 해결할 수 있다.
- 우선순위 변경
- 프로세스 우선순위를 수시로 변경해서, 각 프로세스가 높은 우선순위를 가질 기회주기
- 오래 기다린 프로세스의 우선순위를 높여주기
- 우선순위가 아닌, 요청 순서대로 처리하는 FIFO 기반 요청큐 사용
728x90