- request edge: 해당 프로세서가 가리킨 자원을 요청한다는 의미 (할당 전)
- assignment edge: 해당 자원이 가리킨 프로세서에 할당되어 있다는 의미
- 왼쪽 예제부터 deadlock (X), deadlock (O), deadlock (X)
- 현대에는 대부분 OS가 deadlock을 책임지지 않고 사용자에게 맡긴다
- deadlock이 그렇게 자주 발생하지 않기 때문에 이를 미연에 방지하기 위해 하는 작업의 오버헤드 때문
- 두번째 그래프에서 자원2를 프로세스2에 할당하면 생길 위험한 상황을 미리 방지하고자 프로세스2에 할당 X
- 현재 available 자원으로 need 자원이 충족되는 프로세스를 우선으로 할당해준다
- 이후 자원을 다 활용하고 반납하여 available 자원이 늘어나면 또 그에 맞는 프로세스에게 할당
출처: https://core.ewha.ac.kr/publicview/C0101020140411151510275738?vmode=f
'CS > OS' 카테고리의 다른 글
18. Memory Management 1 (0) | 2022.04.03 |
---|---|
17. Deadlocks 2 (0) | 2022.03.30 |
15. Process Synchronization 4 (0) | 2022.03.29 |
14. Process Synchronization 3 (0) | 2022.03.29 |
13. Process Synchronization 2 (0) | 2022.03.28 |