반응형
교착상태(Deadlock)란
서로 다른 프로세스가 서로 점유하고 있는 자원의 반납을 대기하고 있는 상태를 의미한다.
발생조건
- 상호 배제: 한 번에 한 프로세스만 해당 자원을 사용할 수 있어야 함
- 점유 대기: 할당된 자원을 가진 상태에서 다른 자원을 기다림
- 비선점: 다른 프로세스가 자원의 사용을 끝낼 때 까지 자원을 뺏을 수 없음
- 순환대기: 각 프로세스가 순환적으로 다음 프로세스가 요구하는 자원을 가지고 있음
해결방법
- 예방: 4가지 조건 중 하나라도 만족되지 않도록 함
- 회피: 알고리즘을 데드락이 발생하지 않도록 함
- 회복: 교착상태가 발생할 때, 해결함
- 무시: 회복과정의 성능저하가 심하다면 그냥 무시
기아상태(Starvation)란
여러 프로세스가 부족한 자원을 점유하기 위해 경쟁할 때, 특정 프로세스가 영원히 자원 할당이 되지 않는 경우이다.
해결 방법
우선순위를 변경합니다.(우선순위를 수시로 변경하거나, 오래 기다린 프로세스의 우선순위를 높여주거나, Queue를 사용합니다.)
반응형
'IT > Knowledge' 카테고리의 다른 글
run / debug 차이 (29) | 2022.11.10 |
---|---|
2PC 란? (34) | 2022.11.04 |
git / github 차이 (32) | 2022.11.02 |
DevOps 에서의 Blue-Green 배포, A/B 테스트, Canary Release (39) | 2022.10.29 |
프로세스 관련 용어 (58) | 2022.10.24 |
댓글