-
교착상태 탐지운영체제/교착상태 2018. 2. 4. 15:01
교착상태 발생이 가능한 시스템에서 지원해야할 것교착상태가 발생했는지 결정하기 위해 시스템의 상태를 결정하는 알고리즘교착상태로부터 회복하는 알고리즘 교착상태 탐지 시 실행 시간이 소요되며 교착 상태로부터 회복할 때는 오버헤드가 발생한다. 각 자원 타입이 한 개씩 있는 경우모든 자원들이 한 개의 인스턴스만 가진다면 대기 그래프를 사용해 교착상태를 탐지할 수 있다대기 그래프가 사이클을 포함하는 경우에만 시스템에 교착 상태가 존재하므로 주기적으로 그래프에서 사이클을 조사하여 교착상태를 탐지한다.그래프에서 사이클을 탐지하는 알고리즘은 O(n^2)의 연산을 요구한다. 여기서 n은 정점의 수이다. 각 타입의 자원을 여러 개 가진 경우각 자원이 복수의 인스턴스를 가질 경우 은행원 알고리즘에서 설명한 안전성 검사 알고리..
-
교착상태 회피운영체제/교착상태 2018. 2. 4. 14:58
교착 상태 회피 방법은 자원이 어떻게 요청될 지에 대한 정보를 미리 파악하여시스템이 불 안전 상태로 진입하지 않도록 하는 것이다. 안전 상태시스템이 프로세스들이 요청하는 모든 자원을 어떤 순서로든 교착 상태를 야기시키지 않고 차례로 모두 할당해 줄 수 있는 상황을 안전 상태라고 한다. 모든 프로세스들을 무사히 마칠 수 있는 순서를 찾을 수 없으면 불안전 하다고 한다. 단일 인스턴스 자원 유형 에서는 자원 할당 그래프 알고리즘을 사용하고다중 인스턴스 자원 유형 에서는 은행원 알고리즘을 사용한다. 예를 들어 시스템이 이러한 상태일 때 최대 자원 12 최대 소요량 현재 사용량 P0 10 5 P1 4 2 P2 9 2 P1 - P0 -P2 순서로 자원을 할당 해 주는 것이 안전 순서이다. 안전 순서시스템이 프로세..
-
교착상태 예방운영체제/교착상태 2018. 2. 4. 14:55
교착 상태가 발생하기 위한 네 가지 조건 중 최소한 하나가 성립하지 않도록 보장함으로써 교착상태의 발생을 예방할 수 있다. 단점 : 자원의 낭비가 심함 예방 방법 상호 배제 : 여러 개의 프로세스가 공유 자원을 사용할 수 있게 한다. 점유 대기 : 프로세스가 실행되기 전 모든 자원을 할당해 준다. 비 선점 : 자원을 점유하고 있는 프로세스가 다른 자원을 요구 할 때 자신이 점유한 자원을 반납하고 다른 자원을 기다리도록 한다. 순환 대기 : 자원에 고유한 번호를 할당하고 번호 순서대로 자원을 요구하도록 한다.
-
교착상태의 특징운영체제/교착상태 2018. 2. 4. 14:51
필요 조건들교착 상태는 한 시스템 내에서 다음에 네 가지 조건이 동시에 성립할 때 발생한다.따라서 네 가지 조건 중 하나라도 성립하지 않도록 만든다면 교착상태를 해결할 수 있다. 상호 배제 : 자원은 한 번에 한 프로세스만이 사용할 수 있어야 한다. 점유 대기 : 최소 하나의 자원을 점유하고 있으면서 다른 프로세스에게 할당되어 사용되고 있는 자원을 추가로 점유하기 위해 대기하는 프로세스가 있어야 한다. 비 선점 : 다른 프로세스에게 할당된 자원은 사용이 끝날 때 까지 빼앗을 수 없어야 한다. 순환 대기 : P1은 자원을 점유하고 있으면서 P2 의 자원을 요구하고P2도 자원을 점유하고 있으면서 P1의 자원을 요구해야 한다. 자원 할당 그래프프로세스와 자원의 요청 및 할당 관계를 표시한다.순환 대기 조건을 ..