[OS] 기아 상태(Starvation)

smlee·2023년 8월 21일
0

OS

목록 보기
2/2

1. 기아 상태(starvation)

특정 프로세스의 우선 순위가 낮아서 원하는 자원을 계속 할당 받지 못하는 상태를 뜻한다.
즉, 현실적으로 수행할 수 있는 작업이지만 우선 순위가 낮아 무기한 연기로 인해 수행할 수 없는 상태를 뜻한다.
따라서, 기아 상태와 교착 상태는 다르다.

2. 기아 상태 해결 방안

기아 상태의 해결 방안에는 aging이 있다.

aging
오랫동안 ready 상태인 프로세스의 우선순위를 주기적으로 올려주는 뜻한다.

식사하는 철학자 문제


식사하는 철학자 문제는 다음과 같다.
1. 5명의 철학자는 생각과 식사를 반복한다.
2. 테이블 중앙에는 음식이 있다.
3. 철학자들 사이에는 포크 5개가 1개 씩 놓여있다.
4. 철학자들은 좌우 포크를 공유한다.
5. 모든 철학자들은 1개의 포크를 2명이서 동시에 사용할 수 없다.
6. 식사를 할 때는 각자의 좌우 포크 2개를 사용한다.
7. 식사를 마치면 포크를 내려놓고 생각을 시작한다.
식사하는 철학자 문제의 교착 상태 해결책은 기아 상태를 방지하는 것이다.
여기서는 세마포어를 이용하여 식사하는 철학자 문제를 한다.
ex. 최대 4명의 철학자 만이 테이블에 동시에 앉을 수 있게 한다.
비대칭 해결안을 사용 / 철학자가 두 개를 모두 집을 수 있을 때만 젓가락을 집는다.

0개의 댓글