교착상태(데드락)


- 데드락은 두 개 이상의 프로세스나 쓰레드가 서로 자원을 기다리면서 무한히 기다리게 되는 상태를 말합니다.


* 데드락을 피하는 방법

  • 상호배제 : 하나의 자원을 특정 시기에 하나의 프로세스/쓰레드만 소유할 수 있는 형태
  • 자원점유 : 하나의 자원을 소유하고 다른 프로세스 혹은 쓰레드의 자원을 요청하는 상태
  • 선취 불가능 : 하나의 프로세스/쓰레드에게 주어진 자원은 해당 프로세스/쓰레드가 스스로 놓기 전에는 놓게 만들 수 없는 상태
  • 순환대기 : 두 개의 프로세스/쓰레드의 경우, A->B, B->C, C->A에게 서로 자원을 요청하고 기다리는 상황으로 서로 꼬리를 물고 기다리는 상황

   

4가지 중 하나라도 불충족하면 데드락이 발생하지 않음.


http://includestdio.tistory.com/12

'STUDY > OS' 카테고리의 다른 글

[OS]멀티 프로세싱과 멀티 프로그래밍  (0) 2018.09.01
[OS]프로세서 스케줄링의 종류  (0) 2018.08.26
[OS]컴파일러 & 인터프리터  (0) 2018.08.25
[OS]링커 & 로더  (0) 2018.08.25

+ Recent posts