본문 바로가기
IT 공부/운영체제(완)

운영체제 5 교착 상태

by 랜턴K 2025. 3. 4.
반응형

식사하는 철학자 문제 -> 영원히 생각하면서 아무도 식사하지 못하는 상태 

-생각을 하다가 왼쪽 포크가 사용가능하면 집는다

- 생각을 하다가 오른쪽 포크가 사용가능하며 집는다

- 왼쪽과 오른쪽 포크를 모두 집으면 정해진 시간동안 식사를 한다

- 오른쪽 포크를 내려놓는다

- 왼쪽 포크를 내려놓는다

- 이를 반복한다 

철학자 = 프로세스 또는 스레드

포크 = 자원

이런 상태가 교착상태 

 

1. 교착상태의 상황이란? 

2. 교착상태가 일어나는 근본적인 원인은? 

자원 할당 그래프 

1. 프로세스는 원 / 자원은 사각형 

2. 사용할 수 있는 자원의 갯수는 사각형 내의 점의 갯수

3. 프로세스가 자원을 할당받으면 자원에서 프로세스를 향해 화살표 표시 

4. 프로세스가 어떤 자원을 기다리면, 프로세스에서 자원으로 화살표를 표시

-> 교착 상태의 자원할당 그래프는 루프를 형성한다 

 

교착상태 발생 조건 

- 상호 배제 ; 해당 자원을 한 번에 하나의 프로세스만 사용할 수 있기 때문 

- 점유와 대기 ; 어떤 자원을 할당받은 상태에서 다른 자원을 기다릴 때 

- 비선점 ; 다른 프로세스에 할당받은 자원을 뺏지 않기 때문 

- 원형 대기 ; 원의 형태로 다른 자원을 기다릴 때

 

교착상태 해결 방법

- 예방 ; 교착상태 발생 조건에 부합하지 않게 자원을 분배 

- 회피 ; 자원을 할당하지 않는 방식으로 교착상태를 회피

- 검출 & 회복 ; 교착상태가 검출 시 회복

 

교착상태 예방 

- 상호 배제 없애기 ? -> 현실적으로 불가능

- 점유와 대기 없애기?-> 자원의 활용률이 낮아짐

- 비선점 없애기?->  프린터 등 비선점 조건을 모두 없앴을 수는 없음

- 원형 대기 없애기?-> 모든 자원에 번호를 붙익, 오름차순으로 자원을 할당한다 

                                   번호에 따라, 특정 자원의 할당률이 떨어질 수 있음 

 

교착상태 회피 

- 안전상태 ; 교착상태가 발생하지 않고 / 모든 프로세스가 정상적으로 자원을 할당

- 불안전 상태 ; 교착상태가 발생할 수도 있는 상태 

- 안전 순서열 ; 교착 상태 없이, 프로세스들에 자원을 할당할 수 있는 순서 

 

교착상태 검출 후 회복

- 선점을 통한 회복 ; 강제로 자원을 뺏어서 하나의 프로세스씩 해결

- 프로세스 종료를 통한 회복 ; 모두 강제 종료 -> 가장 빠름 + 작업 내역 전부 잃어버림 

                                                하나씩 강제 종료 -> 오버헤드 야기

반응형

'IT 공부 > 운영체제(완)' 카테고리의 다른 글

운영체제 7. 파일 시스템  (0) 2025.03.07
운영체제 6 가상 메모리  (0) 2025.03.06
운영체제 4 프로세스 동기화  (0) 2025.02.27
운영체제 3 CPU 스케줄링  (0) 2025.02.26
운영체제 2 프로세스  (0) 2025.02.25