교착상태

시스템 모델 (System Model)

  • 시스템 구성: 시스템은 유한한 수의 자원들을 여러 경쟁 스레드에게 분배하는 구조로 이루어져 있습니다1.

  • 자원 유형: 자원들은 여러 유형(예: CPU 사이클, 파일, I/O 장치)으로 나뉠 수 있으며, 각 유형에는 여러 개의 동일한 인스턴스가 존재할 수 있습니다2.

  • 자원 사용 절차: 스레드는 자원을 사용하기 위해 다음의 세 단계를 거칩니다3.

    1. 요청(Request): 스레드는 자원을 요청합니다. 요청이 즉시 승인되지 않으면, 스레드는 자원을 얻을 때까지 대기 상태에 들어갑니다4.

    2. 사용(Use): 스레드는 자원을 사용합니다5.

    3. 해제(Release): 스레드가 자원 사용을 마치면 자원을 해제합니다6.

  • 교착 상태: 교착 상태는 한 세트의 모든 스레드들이 그 세트의 다른 스레드만이 유발할 수 있는 이벤트를 무한정 기다리는 상태를 의미합니다7.

  • 교착 상태의 원인: 뮤텍스 락이나 세마포어와 같은 동기화 도구들이 현대 시스템에서 교착 상태의 가장 흔한 원인입니다8. 식사하는 철학자 문제도 이러한 교착 상태를 잘 보여주는 예시입니다9.

Last updated