ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [OS] 교착상태(Dead Lock)
    OS 2020. 7. 5. 20:56
    728x90
    • 프로세스가 자원을 얻지 못해 다음 처리를 하지 못하는 상태로 교착 상태라고도 함
    • 시스템적으로 한정된 자원을 여러 곳에서 사용하려고 할 때 발생

    발생 조건

    • 교착 상태는 4가지 조건이 동시에 성립 할 때 발생
      • 상호 배제(Mutual Exclusion) : 한 자원은 한 번에 한 프로세스만 사용할 수 있어야함
      • 점유 대기(Hold and Wait) : 프로세스 자원을 가진 채 다른 자원을 기다릴 수 있음
      • 비선점(No Preemption) : 다른 프로세스에 할당된 자원은 사용이 끝날 때까지 강제로 빼앗을 수 없음
      • 순환 대기(Circular Wait) : 프로세스의 집합에서 각 프로세스는 순환적으로 다음 프로세스가 필요로하는 자원을 가지고 있음

    해결 방법

    • 예방(Prevention) : 4가지 발생 조건이 하나라도 발생하지 못하게 함
    • 회피(Avoidance) : 알고리즘이 데드락이 발생하지 않도록 적용
    • 회복(Recovery) : 교착상태가 발생하면 해결
    • 무시(Ignore) : 회복과정의 성능저하가 더 심하면 무시
    728x90

    'OS' 카테고리의 다른 글

    [OS] 세마포어(Semaphore)와 뮤텍스(Mutex)의 차이  (0) 2020.07.06
    [OS] 스케줄러(Scheduler)란?  (0) 2020.06.19
    [OS] Process와 Thread  (0) 2020.06.17
    [OS] 운영체제란?  (0) 2020.06.16
Designed by Tistory.