교착상태 편집하기
IT위키
편집을 취소할 수 있습니다. 이 편집을 되돌리려면 아래의 바뀐 내용을 확인한 후 게시해주세요.
최신판 | 당신의 편집 | ||
2번째 줄: | 2번째 줄: | ||
* 교착상태: Deadlock | * 교착상태: Deadlock | ||
* 두 개 이상의 프로세스가 서로의 작업이 끝나기만을 기다리고 있어 둘 다 영원히 끝나지 않는 상황을 가리킨다. | * 두 개 이상의 프로세스가 서로의 작업이 끝나기만을 기다리고 있어 둘 다 영원히 끝나지 않는 상황을 가리킨다. | ||
== 예시 == | == 예시 == | ||
15번째 줄: | 16번째 줄: | ||
| wait(A); | | wait(A); | ||
|} | |} | ||
== 교착상태의 4가지 필요조건 == | == 교착상태의 4가지 필요조건 == | ||
31번째 줄: | 33번째 줄: | ||
* 사전에 교착상태가 발생하지 않도록 조치하거나, 발생한 뒤에 고치는 방법이 있다. 대표적으로 아래 세가지로 나눈다. | * 사전에 교착상태가 발생하지 않도록 조치하거나, 발생한 뒤에 고치는 방법이 있다. 대표적으로 아래 세가지로 나눈다. | ||
# '''방지(Prevention)''' | # '''방지(Prevention)''' | ||
#* 할당 구조 측면에서, 교착상태가 발생할 수 있는 요구조건을 만족시키지 않게 함으로써 | #* 할당 구조 측면에서, 교착상태가 발생할 수 있는 요구조건을 만족시키지 않게 함으로써 교창상태를 방지한다. | ||
# '''회피(Avoidance)''' | # '''회피(Avoidance)''' | ||
#* 리소스 할당의 측면에서, 교착상태가 발생할 가능성이 있는 자원 할당(unsafe allocation)을 하지 않는다. | #* 리소스 할당의 측면에서, 교착상태가 발생할 가능성이 있는 자원 할당(unsafe allocation)을 하지 않는다. | ||
37번째 줄: | 39번째 줄: | ||
# '''탐지 및 회복(Detection and Recovery)''' | # '''탐지 및 회복(Detection and Recovery)''' | ||
#* 교착상태가 발생 할 수 있도록 놔 두고 교착상태가 발생 할 경우 찾아내어 고친다. | #* 교착상태가 발생 할 수 있도록 놔 두고 교착상태가 발생 할 경우 찾아내어 고친다. | ||
== 참고 == | == 참고 == |