교착상태2 교착상태 처리 방법 (Methods for Handling Deadlocks) * 교착상태 처리 방법 분류 교착상태가 절대 생기지 않도록 보장 교착상태 예방 (Deadlock prevention) 교착상태 회피 (Deadlock avoidance) 교착상태가 되도록 허용, 다음에 복구 교착상태 탐지 (Deadlock Detection) 교착상태 회복 (Deadlock Recovery) 교착상태 무시 1. 교착상태 예방 (Deadlock prevention) 교착 상태를 발생하는 하는 4가지 조건 중에 적어도 하나가 일어나지 않게 보장함으로써 교착상태를 예방 (1) 상호 배제 (Mutual Exclusion) 공유 가능한 자원들의 배타적인 접근을 요구하지 않는다. 예를 들어, 읽기 전용 파일 (read-only file)에 대해서는 배타적 접근이 필요하지 않는다. 반면에, 프린터 등.. 2021. 12. 9. 교착 상태 (Deadlocks) 1. 교착 상태 특성 (1) 필요조건 (i) 상호 배제 (mutual exclusion) 최소한 하나의 자원이 비공유 모드로 점유되어야 한다. 비공유 모드에서는 한 번에 한 스레드만이 그 자원을 사용할 수 있다. mutex lock, semaphore 사용 시 비공유 모드 (ii) 점유하며 대기 (hold-and-wait) 스레드는 최소한 하나의 자원을 점유한 채, 현재 다른 스레드에 의해 점유된 자원을 추가로 얻기 위해 반드시 대기해야 한다. Example) A thread : mutex 1 점유, mutex 2 대기 B thread : mutex 1 대기, mutex 2 점유 (iii) 비선점 (no preemption) 자원들을 선점할 수 없어야 한다. 자원이 강제적으로 방출될 수 없고, 점유하고 .. 2021. 12. 9. 이전 1 다음 반응형