교착 상태란?

song·2023년 5월 7일
post-thumbnail

교착 상태

: 일어나지 않을 사건을 기다리며 무한히 대기하는 현상

해결하기 위해서

  • 교착 상태가 발생했을 때의 상황을 정확히 표현 (자원 할당 그래프)
  • 교착 상태가 일어나는 근본적인 이유 알기 (발생할 조건)

자원 할당 그래프

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

  • 프로세스는 원, 자원의 종류는 사각형으로 표현


  • 사용할 수 있는 자원의 개수는 자원 사각형 내에 점에 표현


  • 프로세스가 어떤 자원을 할당받아 사용 중이라면 자원에서 프로세스를 향해 화설표를 표시


  • 프로세스가 어떤 자원을 기다리고 있다면 프로세스에서 자원으로 화살표를 표시


📍참고) 교착 상태가 발생한 상황은 그래프가 원의 형태 (무조건 발생X, 가능성이 생기는거임)

교착 상태가 발생할 조건

  • 상호 배제
    : 한 프로세스가 사용하는 자원을 다른 프로세스가 사용할 수 없는 상태

  • 점유와 대기
    : 자원을 할당 받은 상태에서 다른 자원을 할당 받기를 기다리는 상태

  • 비선점
    : 어떤 프로세스도 다른 프로세스의 자원을 강제로 빼앗지 못하는 상태

  • 원형 대기
    : 프로세스들이 원의 형태로 자원을 대기하는 상태

📍참고)

- 4가지 조건 중 하나라도 만족하지 않으면 교착 상태 발생X

- 4가지 조건 모두 만족하면 교착 상태가 발생할 수 있음 (무조건 발생X, 가능성이 생기는거임)

<출처>
"혼자 공부하는 컴퓨터구조+운영체제".강민철.https://www.youtube.com/playlist?list=PLVsNizTWUw7FCS83JhC1vflK8OcLRG0Hl (2023.05.07)


책과 강의를 통해 학습한 내용을 요약 정리했습니다.
profile
인간은 적응의 동물

0개의 댓글