[운영체제(OS)] 데드락(Deadlock) - (2) 데드락 해결 방법
2022. 2. 27. 22:47
CS/운영체제
0.🚶들어가며 이전 글에서 데드락이 무엇인지에 대해 알아보았습니다. 이번 글에서는 데드락을 해결하는 방법에 대해 알아보겠습니다. 데드락을 해결하는 방법을 크게 네 가지로 나눠 소개해볼 예정입니다. 데드락 예방 데드락 회피 데드락 검출과 회복 데드락 무시 위 네 가지 방법이 각각 무엇인지, 장단점은 무엇인지를 위주로 설명드리도록 하겠습니다. 1.🤚데드락 예방 (Deadlock prevention) 이전 글에서 데드락을 일으키는 조건에는 네 가지가 있다고 했습니다. 네 가지 중 하나라도 충족하지 않으면 데드락은 발생하지 않는 것이죠. 데드락 예방은 네 가지 조건 중 하나라도 충족시키지 못하게 하여 데드락이 발생하지 않도록 하는 해결방법입니다. 각 조건을 하나씩 보면서 내용을 알아보도록 하죠. 1. 상호 배제..
[운영체제(OS)] 데드락(Deadlock) - (1) 데드락 개념과 발생 조건
2022. 2. 27. 20:02
CS/운영체제
0.🚶들어가며 프로세스 동기화에 대해 배우다 보면 나오는 개념 중 상호 배제라는 개념이 있습니다. 공유 자원에 대한 상호 배제 메커니즘을 구현하다 보면 발생하게 되는 문제가 있습니다. 바로 데드락이죠. 이번 글에서는 데드락이 무엇인지와 어떤 조건하에 데드락이 발생하는지에 대해 알아보도록 하겠습니다. 1.💀데드락이란? 위 사진의 교통체증이 보이시나요? 이번 글에서 설명할 데드락은 현실세계에서 위와 같은 상황에 빗대어 볼 수 있습니다. 데드락이 무엇인지에 대해 알아보도록 하죠. 프로세스들이 서로가 가진 자원을 기다리며 작업을 더이상 진행하지 못하는 상태를 데드락이라고 합니다. 여기서 자원이라 함은 시스템 자원, 공유 변수 같은 소프트웨어, 하드웨어적인 자원 모두를 말합니다. 이전 글에서 소개한 사진의 일부인..