Data Engineering/혼공컴운

혼자 공부하는 컴퓨터구조 + 운영체제 13장 정리

potatode 2025. 4. 1. 20:36

13. 교착상태

13-1. 교착 상태란

  • 교착상태 : 일어나지 않을 사건을 기다리며 진행이 멈춰버리는 현상
  • 교착상태 해결 방법
    • 상황 정확히 표현
    • 근본적인 이유 파악

자원 할당 그래프

: 어떤 프로세스가 어떤 자원을 사용하고 있고, 어떤 자원을 기다리고 있는지 표현

  • 프로세스는 원으로, 자원 종류는 사각형으로 표현
  • 자원 개수는 사각형 내 점으로 표현
  • 프로세스가 자원에서 할당받아 사용중이면, 화살표 표시
  • 교착상태인 경우
    • 자원할당 그래프가 원의 형태

교착상태 발생 조건

  • 상호 배제
    • 한 프로세스가 사용하는 자원을 다른 프로세스가 사용할 수 없을 때
  • 점유와 대기
    • 자원을 할당받은 상태에서 다른 자원 할당 받기 기다리는 상태
  • 비선점
    • 그 자원을 이용하는 프로세스의 작업이 끝나야만 비로소 이용 가능
    • 강제로 뻇을 수 없음
  • 원형 대기
    • 프로세스들이 원의 형태로 자원 대기

13-2. 교착 상태 해결 방법

교착 상태 예방

  • 교착 상태 필요 조건 네 가지 중 하나를 충족하지 못하게 하는 방법
  • 상호 배제 ⇒ 없어기 어려움
    • 모든 자원을 공유 가능하게 해야함
  • 점유와 대기
    • 단점 : 자원의 활용률이 낮아짐
  • 비선점 조건
    • 범용성이 떨어짐
  • 원형 대기 조건
    • 자원에 번호를 붙이고, 오름차순으로 자원 할당
    • 비교적 현실적, 실용적
    • 단점 : 번호를 일일히 붙이기 어렵고, 활용률 떨어짐

교착 상태 회피

  • 교착 상태가 발생하지 않을 정도로만 자원 할당
  • 안전 상태
  • : 교착 상태 없이 안전하게 프로세스들이 자원을 할당할 수 있는 순서
  • 불안전 상태
  • : 교착상태가 발생할 수도 있는 상황
  • 안전 순서열⇒ 안전 상태가 됨
    • 불완전 상태는 안전 순서열이 없는 상태가 됨
  • : 교착 상태 없이 안전하게 프로세스들에 자원을 할당할 수 있는 순서

교착 상태 검출 후 회복

  • 교착 상태 발생을 인정하가 사후에 조치하는 방식
  • 선점을 통한 회복
  • : 교착 상태가 해결될 때까지 한 프로세스의 자원을 몰아주는 방식
  • 프로세스 강제 종료를 통한 회복
    • 교착 상태에 놓인 프로세스를 모두 종류
    • 교착 상태 없어질 때까지 한 프로세스씩 강제 종료
반응형