티스토리 뷰

컴퓨터 과학

교착상태(DeadLock)

Sh.TK 2017. 12. 15. 16:31

https://ko.wikipedia.org/wiki/교착_상태


데드락: 두 개 이상의 작업이 서로 상대방의 작업이 끝나기만 기다리는 상황. 


- 상호배제: 프로세스들이 필요로 하는 자원에 대해 배타적인 통제권을 요구한다.

- 점유대기: 프로세스가 할당된 자원을 가진 상태에서 다른 자원을 기다린다.

- 비선점: 프로세스가 어떤 자원의 사용을 끝낼 때까지 그 자원을 뺏을 수 없다.

- 순환대기: 각 프로세스는 순환적으로 다음 프로세스가 요구하는 자원을 가지고 있다.




예방:


- 상호배제 조건의 제거: 자원을 공유 불가능한 상태로 만듬.

- 점유와 대기 조건의 제거: 한 프로세스에 수행되기 전에 모든 자원을 할당시키고 나서 점유하지 않을 때에는 다른 프로세스가 자원을 요구하도록 하는 방법.

- 비선점 조건의 제거: 프로세스가 어떤 자원이 끝나지 않더라도 자원을 선점 가능하도록 프로토콜을 만들어준다.

- 환형 대기 조건의 제거: 자원 유형에 따라 순서를 매긴다.

'컴퓨터 과학' 카테고리의 다른 글

Oauth에 대해서 정리  (0) 2018.01.18
뮤텍스 & 세마포어(쓰레드 & 프로세스)  (0) 2017.12.15
메모리 구성(데이터, 스택, 힙)  (0) 2017.12.15
댓글
공지사항
최근에 올라온 글
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함