DeadLock

숭이·2021년 5월 19일
0

OS

목록 보기
8/11

DeadLock

  • 프로세스가 자원을 얻지 못해서 다음 처리를 하지 못하는상태. 시스템적으로 한정된 자원을 여러곳에서 사용하려고 할 때 발생
  • 발생상황
    1. 멀티 프로그래밍 환경에서 한정된 자원을 사용하려고 서로 경쟁하는 상황 발생
    2. 임의의 프로세스가 자원을 요청했을 때 그 시각에 해당 자원을 사용할 수 없는 상황이 발생하고 대기상태로 진입
    3. 대기상태로 들어간 프로세스들이 실행단계로 변경될 수 없음

DeadLock 발생 조건

  1. 상호 배제(Mutual Exclusion)
    한 자원에 대한 여러 프로세스의 동시 접근 불가
  1. 점유 대기
    자원을 가지고 있는 상태에서 다른 프로세스가 사용하고 있는 자원의 반납을 기다리는 것

  2. 비선점
    다른 프로세스의 자원을 강제로 가져올 수 없음

  3. 환형 대기
    각 프로세스가 순환적으로 다음 프로세스가 요구하는 자원을 가지고 있는 것

DeadLock 처리

  1. 예방 : 교착 상태 발생 조건 중 하나를 제거하면서 해결(자원 낭비가 심함)

  2. 회피 : 교착상태 발생 시 피해나가는 방법(운영체제는 불안전 상태를 초래할 사용자의 요구는 나중에 만족될 수 있을 때까지 계속 거절)

  3. 탐지 : 자원 할당 그래프를 통해 교착상태를 탐지한다.

  4. 회복 : 환형 대기를 깨트리기 위하여 단순히 한개 혹은 그 이상의 프로세스를 중지시키는 방법

0개의 댓글