새소식

반응형
밥벌이/운영체제

교착상태 해결 방법

  • -
반응형
  • 예방 기법
    교착상태가 발생하지 않도록 사전에 시스템을 제어하는 방법으로, 교착 상태 발생 조건 중 어느 하나를 부정함으로써 수행되나 자원의 낭비가 심한 방법
기법 내용
상호 배제 조건의 부정
  • 프린트와 같은 장치에 적용 불가
점유와 대기 조건의 부정
  • 프로세스가 실행되기 전에 프로세스가 필요로 하는 모든 자원을 할당하여 프로세스 대기를 없애거나 자원이 점유되지 않은 상태에서만 자원을 요구하도록 함
  • 장치 사용하기 전에 사용하려는 모든 장치를 동시에 선점으로 비효율적인 방법
비선점 조건의 부정
  • 자원을 점유하고 있는 프로세스가 다른 자원을 요구할 때 점유하고 있는 자원을 반납하고, 요구한 자원을 사용하기 위해 기다리게 함
  • CPU에는 적용할 수 있으나, 프린터와 같은 장치에는 적용 불가
환형 대기 조건의 부정
  • 자원을 선형 순서로 분류하여 고유 번호를 할당하고, 각 프로세스는 현재 점유한 자원의 고유 번호보다 앞이나 뒤의 한 쪽 방향으로만 자원을 요구하도록 함
  • 장치에 번호를 매긴 후 낮은 순에서 높은 순으로 선점하도록 함
  • 자율성 침해

▶ 교착상태 예방 기법

   

  • 회피 기법
    • 교착상태가 발생할 가능성을 배제하지 않고 교착상태가 발생하면 적절히 피해가는 방법으로, 주로 은행원 알고리즘의 이용됨
    • 은행원 알고리즘(Banker's Algorithm)
      • 은행원 알고리즘은 E,J.Dujkstra가 제안한 것으로, 은행에서 모든 고객의 요구가 충족되도록 서비스를 할당하는 데서 유래한 기법
      • 각 프로세스에게 자원을 할당하여 교착상태가 발생하지 않고 모든 프로세스가 완료될 수 있는 상태를 안전(Safe) 상태, 교착상태가 발생할 수 있는 상태를 불안전(Unsafe) 상태라고 함
      • 은행원 알고리즘을 적용하기 위해서는 자원의 양과 사용자(프로세스) 수가 일정해야 함
      • 은행원 알고리즘은 프로세스의 모든 요구를 유한 시간 내에 할당하는 것은 보장하지만 대화식 시스템에는 적용 할 수 없음
구분 내용
안전 상태
  • 시스템이 특정한 순서대로 각 프로세스에게 자원의 할당 가능
  • 교착상태의 방지가 가능하고, 작업의 완료도 가능
불안전 상태
  • 프로세스에 대한 자원 할당 순서가 없음
  • 교착상태의 발생이 가능한 상태
  • 운영체제는 교착상태를 예방할 수 없음

   

  • 발견 기법
    • 시스템 운영 중에 시스템에 교착상태가 발생했는지 점검하여 교착상태에 있는 프로세스와 자원을 발견하는 방법
    • 교착상태 발견 알고리즘(그래프, 타임 스탬프)과 자원 할당 그래프, 시간의 상한값 이용 등을 사용
    • 프로세스와 자원간의 요구와 할당 관계를 규명
         
  • 회복 기법
    • 교착상태를 일으킨 프로세스를 종료하거나(환형 대기 제거) 교착상태의 프로세스에 할당된 자원을 선점하여 프로세스나 자원을 회복시키는 방법
    • 희생자 선정, 복귀(Rollback), 기아(Starvation) 문제를 고려할 필요가 있음
      • 기아[Starvation] : 교착상태 해결 시 특정 프로세스가 계속해서 희생자로 선택되어 그 프로세스의 진행이 안 되는 경우
반응형

'밥벌이 > 운영체제' 카테고리의 다른 글

교착상태 개요  (0) 2011.08.10
교착상태 발생의 조건  (0) 2011.08.10
스케줄링 개념  (0) 2011.05.17
스케줄링 단계와 기본 요소  (0) 2011.05.17
스케줄링 알고리즘  (0) 2011.05.17
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.