이 글은 "쉽게 배우는 운영체제 (조성호 지음)"을 읽고 주관적으로 작성된 글입니다.
※ 요약
- 교착 상태
- 2개 이상의 프로세스 모두가 다른 프로세스의 작업이 끝나길 기다려 작업이 진행되지 않는 상태
- 시스템 자원, 공유 변수 / 파일, 응용 프로그램 사용시 발생
- 자원 할당 그래프
- 프로세스의 사용중인 자원, 기다리는 자원을 방향성 그래프로 표현한 것
- 자원의 할당 / 대기 상태를 한눈에 파악 가능
- 교착 상태 필요조건
- 상호 배제 (Mutual Exclusion)
- 한 번에 하나의 프로세스만 사용 가능한 자원 - 비선점 (Non-preemption)
- 할당된 프로세스로부터 강제로 뺏지 못하고 스스로 반납해야하는 자원 - 점유와 대기 (Hold and Wait)
- 다른 프로세스에 할당된 자원을 기다리는 프로세스가 존재 - 원형 대기 (Circular Wait)
- 점유와 대기의 프로세스 관계가 원형을 이룸
- 상호 배제 (Mutual Exclusion)
- 식사하는 철학자 문제
- 교착 상태를 설명하기 위한 예
- 원탁에 둘러앉은 철학자들이 양손에 포크를 들면 식사 가능
- 포크를 잡는 순서 : 왼쪽 포크 -> 오른쪽 포크
- 포크를 잡을 때까지 기다림
- 교착 상태 해결 방법
- 예방
- 교착 상태가 발생하는 4가지 조건을 무력화 - 회피
- 자원 할당량을 조절하여 해결
- 유발할 가능성이 있는 경우 자원 할당 중단
- 은행원 알고리즘 - 검출 / 회복
- 자원 할당 그래프를 모니터링
- 교착 상태가 발생하는지 살펴보고, 발생하면 회복 진행
- 예방
- 은행원 알고리즘
- 회피를 구현하는 방법
- 자원의 총 수 / 할당된 자원 수를 기준으로 safe / unsafe를 나눠 안정 상태를 유지하도록 자원 할당
1. 교착 상태의 개요
1) 교착 상태의 정의
- 쩜
- 쩜
2) 교착 상태의 발생
- 쩜
- 쩜
3) 자원 할당 그래프
- 쩜
- 쩜
2. 교착 상태 필요조건
1) 교착 상태 필요조건
- 쩜
- 쩜
2) 식사하는 철학자 문제와 교착 상태 필요조건
- 쩜
- 쩜
3. 교착 상태 해결 방법
1) 교착 상태 해결 방법
- 쩜
- 쩜
2) 교착 상태 예방
- 쩜
- 쩜
3) 교착 상태 회피
- 쩜
- 쩜
4) 교착 상태 검출
- 쩜
- 쩜
5) 교착 상태 회복
- 쩜
- 쩜
4. 다중 자원과 교착 상태 검출
1) 다중 지원과 사이클
- 쩜
- 쩜
2) 대기 그래프와 그래프 감소
- 쩜
- 쩜
'책읽기' 카테고리의 다른 글
[쉽게 배우는 운영체제](요약)[Part-3][Ch-8] 가상 메모리의 기초 (0) | 2021.07.29 |
---|---|
[쉽게 배우는 운영체제](요약)[Part-3][Ch-7] 물리 메모리 관리 (0) | 2021.07.29 |
[파이썬 알고리즘 인터뷰][그래프] 순열 (0) | 2021.07.28 |
[파이썬 알고리즘 인터뷰][그래프] 전화 번호 문자 조합 (0) | 2021.07.28 |
[파이썬 알고리즘 인터뷰][그래프] 섬의 개수 (0) | 2021.07.28 |