교착 상태 해결 방법
반응형
목차
01. 운영체제의 개요
02. 컴퓨터의 구조와 성능 향상
03. 프로세스와 스레드
04. CPU 스케줄링
05. 프로세스 동기화
06. 교착 상태
07. 물리 메모리 관리
08. 가상 메모리의 기초
09. 가상 메모리 관리
10. 입출력 시스템과 저장장치
11. 파일 시스템
12. 네트워크와 분산 시스템
교착 상태 해결 방법
교착상태 해결방법
- 교착 상태 예방 : 교착상태 조건 4가지에 대해 발생하지 않도록함
- 교착 상태 회피 : 자원 할당량을 조절하여 교착 상태를 회피
- 교착 상태 검출과 회복 : 모니터링을 하면서 교착상태가 발생할거 같으면 조치를 취해주는 방식
교착상태 예방 (4가지)
1. 상호배제 예방
- 독점적으로 사용할 수 있는 자원을 없애버리는 방법
- 현실적으로 모든 자원 공유가 어렵다./상호배제를 적용해 보호해야 하는 자원이 존재하기 때문.
- 사실상 어렵다.
2. 비선점 예방
- 모든 자원을 빼앗을 수 있도록 하는 방법
- 그러나 아사현상을 일으킴 (빼앗지 못한자는 계속 밀려서 아사현상 일어남)
3. 점유와 대기 예방
- 프로세스가 자원을 점유한 상태에서 다른 자원을 기다리지 못하게 하는 방법
- 자원이 아닌 프로세스의 자원 사용방식을 변화시켜 처리하는 점에 의미가 있다.
단점
- 프로세스가 모든 자원을 자세히 알기 어려움
- 자원의 활용성이 떨어짐
- 많은 자원을 필요로 하는 프로세스가 불리함
- 결국 일괄 작업 방식으로 진행됨
4. 원형 대기 예방
- 점유와 대기를 하는 프로세스가 원형을 이루지 못하게 하는 방법
- 모든 자원에 숫자를 부여해서 숫자가 큰 방향으로만 자원을 할당하는 방법
단점
- 프로세스 작업 진행 유연성이 떨어짐
- 자원의 번호를 어떻게 부여할지 문제.
교착 상태 예방 정리
- 교착상태를 유발하는 네 가지 조건이 일어나지 않도록 제약을 가하는 방법
- 자원을 보호하기 위해서 상호 배제와 비선점을 예방하기 어려움
- 자원을 효율성을 위해 점유와 대기 원형대기를 예방하기 어려움
교착 상태 회피
- 프로세스에 자원을 할당할 때 어느 수준 이상의 자원을 나누어주면 교착 상태가 발생하는지 파악하여 그 수준 이하로 자원을 나누어줌
은행원 알고리즘 - 회피
- 교착상태 회피를 구현하는 대표적 알고리즘
⭐️ 각 프로세스의 기대 자원과 비교하여 가용자원이 크거나 같은 경우가 한 번 이상인 경우
은행원 알고리즘 - 실습
문제점
- 어떤 자원을 사용하게 될지, 미리 알아야 함
- 자원 수가 고정이어야 함. (바뀌게 되면, 계산이 복잡해짐)
- 자원이 낭비됨
교착 상태 검출
- 프로세스의 작업을 관찰하면서 교착 상태 발생 여부를 주시하는 방식
- 교착 상태가 되면 회복 상태로 끌고가 교착 상태를 해결
타임 아웃을 이용한 교착 상태 검출
- 일정 시간 동안 작업이 진행되지 않으면 교착 상태가 발생한 것으로 간주.
- 타임 아웃이 되면 프로세스가 종료됨
- 교착 상태가 자주 발생하지 않을 것이라고 가정하에 사용, 쉽게 구현 가능 ex) 응답할 수 없습니다. 창
데이터 베이스에서 타임 아웃의 문제
- 데이터베이스에서 타임 아웃으로 프로세스가 종료되면 일부 데이터의 일관성이 깨짐
- 체크 포인트와 롤백으로 해결
1. 체크포인트 : 작업이 중지됨을 예상해 저장된 상태로 돌아오기 위한 표시
2. 롤백 : 작업하다가 문제가 발생하면 체크 포인트로 되돌아감
자원 할당 그래프를 이용한 교착 상태 검출
- 단일 자원을 사용하는 경우 자원 할당 그래프에 사이클 있으면 교착상태
교착 상태 회복
- 교착 상태가 검출된 후 교착 상태를 푸는 작업
- 교착 상태를 유발한 프로세스를 강제 종료
1. 교착 상태를 일으킨 모든 프로세스를 동시에 종료
2. 교착 상태를 일으킨 프로세스 중 하나를 골라 순서대로 종료
- 우선순위가 낮은 프로세스 > 작업시간이 짧은 > 자원을 많이 사용하는 순으로 종료시킴
반응형
'Operating System' 카테고리의 다른 글
메모리 주소 (0) | 2022.05.25 |
---|---|
메모리의 관리 개요 (0) | 2022.05.24 |
교착 상태 필요조건 (0) | 2022.05.18 |
교착 상태의 개요 (0) | 2022.05.17 |
임계구역 해결 방법 (0) | 2022.05.16 |
댓글
이 글 공유하기
다른 글
-
메모리 주소
메모리 주소
2022.05.25 -
메모리의 관리 개요
메모리의 관리 개요
2022.05.24 -
교착 상태 필요조건
교착 상태 필요조건
2022.05.18 -
교착 상태의 개요
교착 상태의 개요
2022.05.17