1 / 20

교착상태 (Deadlock)

제 07 강 : 교착상태 (Deadlock). 교착상태 (Deadlock). Resource-Allocation Graph. Process Resource Type j (with 4 instances ) P i requests an instance of R j P i is holding an instance of R j. R j. P i. R j. P i. R j. 교착상태 (Deadlock) 의 정의. 안일어날 event 를 기다리며 영원히 block 된 상태 예 :

enrico
Télécharger la présentation

교착상태 (Deadlock)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 제07강 : 교착상태(Deadlock) 교착상태(Deadlock)

  2. Resource-Allocation Graph • Process • Resource Type j (with 4 instances) • Pirequests an instance of Rj • Pi is holding an instance of Rj Rj Pi Rj Pi Rj

  3. 교착상태(Deadlock)의 정의 • 안일어날 event를 기다리며 영원히 block 된 상태 • 예: • 시스템은 2대의 tape drive (A & B) 보유 • 두개의 병렬 프로세스 P0 P1 Req Tape Req Tape Req Tape Req Tape Copy Tape Copy Tape Rel Tape Rel Tape Rel Tape Rel Tape P0 P1 A B Tape

  4. 교착상태(Deadlock)의 정의 • 안일어날 event를 기다리며 영원히 block 된 상태 • 예: • 시스템은 2대의 tape drive (A & B) 보유 • 두개의 병렬 프로세스 • P0 P1 • Req Tape Req Tape • Req Tape Req Tape • Copy Tape Copy Tape • Rel Tape Rel Tape • Rel Tape Rel Tape P0 P1 Tape

  5. 교착상태(Deadlock)의 정의 • 안일어날 event를 기다리며 영원히 block 된 상태 • 예: • 시스템은 2대의 tape drive (A & B) 보유 • 두개의 병렬 프로세스 • P0 P1 • Req Tape Req Tape • Req Tape Req Tape • Copy Tape Copy Tape • Rel Tape Rel Tape • Rel Tape Rel Tape P0 P1 Tape

  6. 교착상태(Deadlock)의 정의 • 안일어날 event를 기다리며 영원히 block 된 상태 • 예: • 시스템은 2대의 tape drive (A & B) 보유 • 두개의 병렬 프로세스 • P0 P1 • Req Tape Req Tape • Req Tape Req Tape • Copy Tape Copy Tape • Rel Tape Rel Tape • Rel Tape Rel Tape P0 P1 Tape

  7. 교착상태(Deadlock)의 정의 • 안일어날 event를 기다리며 영원히 block 된 상태 • 예: • 시스템은 2대의 tape drive (A & B) 보유 • 두개의 병렬 프로세스 • P0 P1 • Req Tape Req Tape • Req Tape Req Tape • Copy Tape Copy Tape • Rel Tape Rel Tape • Rel Tape Rel Tape P0 P1 Tape

  8. P0 P1 • Req Tape Req Tape • Req Tape Req Tape • Copy Tape Copy Tape • Rel Tape Rel Tape • Rel Tape Rel Tape 교착 상태가 일어나기 위한 네 가지 조건(동시 만족되야 교착상태) ① 상호 배제(Mutual exclusion)조건 자원은 한번에는 한 프로세스만 사용해야 한다. ② 점유 및 대기(Hold and Wait)조건  각 프로세스가 이미 자원을 갖고 있으면서 다른 자원을 더 요구하고 있다. ③ 비선점(Non- preemption)조건 프로세스에 할당된 자원은 스스로 반납하기 전에는 빼앗지 못한다. ④ 환형 대기(Circular wait)조건 프로세스 간의 자원 요구 형태를 추적해보면 결국 자기 자신에게로 되돌아 온다. P0 P1 Tape

  9. P0 P1 • Req Tape Req Tape • Req Tape Req Tape • Copy Tape Copy Tape • Rel Tape Rel Tape • Rel Tape Rel Tape 운영체제의 기능 • 자원의 할당 • CPU, memory 스케줄링 등 • 편리한 인터페이스 • 사용자 인터페이스 • 입출력 device driver • 제어 • 여러 프로그램들이 자원을 공유할때 • 발생하는 문제 제어

  10. 교착상태(Deadlock)세가지 대처방법 • 예방(Prevent) • 회피(Avoid) • 탐지및 복구 • (Detect & Recovery)

  11. 교착상태(Deadlock)세가지 대처방법 • 예방(Prevent) 무균실 • 회피(Avoid) 예방주사, 여행자제 • 탐지및 복구 병 걸리면 치료 • (Detect & Recovery)

  12. 교착상태(Deadlock)세가지 대처방법 • 예방(Prevent) • 회피(Avoid) • 탐지및 복구 • (Detect & Recovery)

  13. 교착 상태 예방(Prevention)(네 조건 중 하나라도 못 일어나게) ① 상호 배제(Mutual exclusion) 조건 자원은 한번에는 한 프로세스만 사용해야 한다. ② 점유 및 대기(Hold and Wait) 조건  각 프로세스가 이미 자원을 갖고 있으면서 다른 자원을 더 요구하고 있다. ③ 비선점(Non- preemption) 조건 프로세스에 할당된 자원은 스스로 반납하기 전에는 빼앗지 못한다. ④ 환형 대기(Circular wait) 조건 프로세스 간의 자원 요구 형태를 추적해보면 결국 자기 자신에게로 되돌아 온다. P0 P1 Tape

  14. ① 점유 및 대기(hold-and-wait) 조건의 방지 • 프로세스는 모든 자원을 한꺼번에 요구해야 • 대기 조건이 형성 안됨 -- 교착 상태 예방 • 단점 : 필요하지도 않은 시점에서 자원을 미리 확보하도록 함. 자원 효율의 저하 초래. Process Request All ..… ….. Release All P0 P1 Tape

  15. P0 P1 • Req Tape Req Tape • Req Tape Req Tape • Copy Tape Copy Tape • Rel Tape Rel Tape • Rel Tape Rel Tape ② 비선점(nonpreemption) 조건의 방지 • 자원 A에 대한 요구가 block 되면, • 자신이 이미 가지고 있던 자원 모두 반납 (roll back) • 즉 자원의 선점을 스스로 허용 • 교착 상태를 예방. • 단점 : 선점해도 되는 자원에만 사용 예: 메모리 공간 많은 자원들이 선점될 수 없다. (프린터를 중간에서 뺏을 수는 없다) Roll back  처음부터 다시 시작 자원 효율의 저하 초래 P0 P1 Tape

  16. ③ 환형 대기(circular-wait) 조건의 방지 • 모든 자원들에 일련번호 (linear ordering) 부여 • 모든 프로세스는 오름차순으로만 자원을 요구 • (1 -> 2 -> 3 ..) • 모든 프로세스는 내림차순으로만 자원을 반납 • (3 -> 2 -> 1 ..) • 환형 대기(circular-wait) 조건이 형성되지 않음. • 단점: • 필요하지도 않은 시점에서 자원을 미리 확보해야함 • 자원 효율의 저하 초래. 1 1 P0 P1 2 2 Tape

  17. ③ 환형 대기(circular-wait) 조건의 방지 • 모든 자원들에 일련번호 (linear ordering) 부여 • 모든 프로세스는 오름차순으로만 자원을 요구 • (1 -> 2 -> 3 ..) • 모든 프로세스는 내림차순으로만 자원을 반납 • (3 -> 2 -> 1 ..) • 환형 대기(circular-wait) 조건이 형성되지 않음. • 단점: • 필요하지도 않은 시점에서 자원을 미리 확보해야함\ • 자원 효율의 저하 초래. 1 1 P0 P1 2 2 Tape

  18. 상호 배제(Mutual Exclusion) 조건의 방지? • Tape drive를 두 프로세스가 같이 사용? • Sharable 자원  교착상태가 안일어 난다 • 예: 읽기전용 CD-ROM drive Note 교착상태 예방은 자원의 낭비가 가장 심하다. (비싸짐) 교착상태가 원천적으로 봉쇄되야하는 응용에 사용 예: 중환자실, 747 제어 등

  19. 교착상태(Deadlock)세가지 대처방법 • 예방(Prevent) • 회피(Avoid) • 탐지및 복구 • (Detect & Recovery)

  20. 교착 상태 회피(Avoidance) 교착 상태의 예방(원천봉쇄)는 자원을 너무 낭비 운영하며 적절히 피해가도록 하는 방법. • 프로세스는 각 자원의 Maximum Claim을 미리 선언 • OS(resource allocator)에게 자원 요청/허가 • OS는 교착상태 가능성을 사전 점검 • 교착상태 가능성이 없으면 (safe) 자원을 허가. 교착 상태 가능성이 있으면 (unsafe) block 시킴 *** unsafe하다고 반드시 교착상태는 아니다.    P: 모든 프로세스가 R: Maximum Claim 요구를  unsafe의 판단근거 t: 동시에 요청할때 (5) 최악에 대비하는 방법이므로 자원의 낭비가 따른다. 참조 - 은행원 알고리즘

More Related