반응형

교착상태 개념

다중프로세싱 환경에서 두 개 이상의 프로세스가 특정 자원 할당을 무한정 대기하는 상태

교착상태 발생 조건

  • 상호배제(뮤텍스) : 프로세스가 자원을 배타적으로 점유하여 다른 프로세스가 그 자원을 사용할 수 없는 상태
  • 점유와 대기 : 한 프로세스가 자원을 점유하고 있으면서 또 다른 자원을 요청하여 대기하고 있는 상태
  • 비선점 : 한 프로세스가 점유한 자원에 대해 다른 프로세스가 선점할 수 없고, 오직 점유한 프로세스만이 해제 가능한 상태
  • 환형 대기 : 두 개 이상의 프로세스 간 자원의 점유와 대기가 하나의 원형을 구성한 상태(식사하는 철학자 문제)

교착상태 해결 방법

  • 예방 : 상호배제를 제외한 나머지 교착상태 발생 조건 부정, 점유 자원 해제 후 새 자원 요청
  • 회피 : 안전한 상태를 유지할 수 있는 요구만 수락
    • 은행원 알고리즘 : 교착상태에 빠질 가능성을 운영체제가 판단한 후, 교착 상태 발생 가능성이 없는 경우 자원 할당
    • Wait-Die 기법 : 사용중인 자원을 점유하기 위해 특정 프로세스가 대기해야하는 경우 대기하는 프로세스는 항상 자원을 사용중인 프로세스보다 적은 타임스탬프를 보유
    • Wound-Wait 기법 : 사용중인 자원을 점유하기 위해 특정 프로세스가 대기해야하는 경우 대기하는 프로세스는 항상 자원을 사용중인 프로세스보다 큰 타임스탬프를 보유
  • 발견 : 시스템의 상태를 감시 알고리즘을 통해 교착 상태 검사
    • 자원할당 그래프 알고리즘
    • Wait for Graph
  • 복구 : 교착상태가 없어질 때까지 프로세스를 순차적으로 제거, 희생자를 선택해야하고 기아 상태 발생
반응형

'CS > OS' 카테고리의 다른 글

4. 프로세스 스케줄링  (2) 2023.11.18
3. 프로세스  (0) 2023.11.09
2. 메모리 관리  (0) 2023.11.08
1. 운영체제  (0) 2023.11.07

+ Recent posts