본문 바로가기

방송통신대 컴퓨터과학과

운영체제 6강 (교착 상태)

728x90
학습개요
  1. 병행 프로세스들은 컴퓨터 시스템의 제한된 자원을 사용하기 위해 서로 경쟁할 수 있습니다. 만일 어떤 프로세스가 사용하고자 하는 자원을 다른 프로세스가 온전히 점유하고 있다면 그 프로세스는 대기해야 합니다. 이렇게 요구와 점유 및 이에 따른 대기상태가 서로 꼬리를 물고 있게 되면, 이러한 관계에 포함된 프로세스들은 더 이상 진행하지 못하게 되는 상태인 교착상태에 빠질 수 있습니다. 운영체제는 이러한 교착상태를 예방하거나 제거함으로써 프로세스의 동작이 원활하게 이루어지도록 해야 합니다. 이번 강의에서는 교착상태의 개념과 특성을 살펴보고, 교착상태를 다루는 여러 기법 중 교착상태를 예방하는 방법에 대해 알아봅니다.
 학습목표
  1. 교착상태의 개념을 설명할 수 있다.
  2. 교착상태가 발생하기 위한 필요조건을 설명할 수 있다.
  3. 자원할당 그래프의 개념을 설명할 수 있다.
  4. 교착상태를 예방하는 방법을 설명할 수 있다.
정리하기
  1. 교착상태는 여러 개의 프로세스가 서로 상대방의 작업이 끝나기만 기다리고 있기 때문에 결과적으로 어느 쪽도 영원히 진행하지 못하는 상태이다.
  2. 교착상태의 네 가지 필요조건은 상호배제, 점유대기, 비선점, 환형대기로, 이 조건들이 모두 만족될 경우 교착상태가 발생할 수 있다.
  3. 자원할당 그래프는 프로세스와 자원 사이에 요구와 할당 관계를 나타내는 그래프로, 사이클의 존재 유무를 통해 교착상태의 발생 가능성을 확인할 수 있다.
  4. 교착상태를 처리하는 기법에는 교착상태 예방, 교착상태 회피, 교착상태 탐지 및 복구가 있다.
  5. 교착상태 예방은 교착상태의 네 가지 필요조건 중 어느 하나라도 발생할 수 없도록 막는 방법이다.