• 제목/요약/키워드: Dining philosophers problem

검색결과 2건 처리시간 0.018초

일반화된 철학자 만찬 문제의 교착상태 예방 알고리즘 (Algorithm for Deadlock Prevention of Generalized Philosophers' Dining Problem)

  • 이상운
    • 한국인터넷방송통신학회논문지
    • /
    • 제23권2호
    • /
    • pp.73-78
    • /
    • 2023
  • 식사하는 철학자 문제는 5명의 철학자(프로세서)들이 원형 탁자에 둘러 앉아 함께 스파게티(또는 국수) 식사를 하는데 있어 자신의 양쪽에 있는 젓가락(자원) 한 쌍(2개)을 모두 가져야만 식사가 가능한 경우로 모든 철학자가 우측의 젓가락 1개씩 모두 가진 경우 아무도 식사를 못하는 교착상태(deadlock)를 해결하는 문제이다. 교착상태는 병행 시스템(concurrent system)에서 빈번히 발생하는 문제로 현행 운영체제(OS)에서는 이를 예방하는 방법은 채택되지 않고 있다. 본 논문은 2≤n≤∞의 모든 프로세서들이 다중 병행(parallel concurrency)처리 능력을 갖고 있는 OS에서 교착상태를 전혀 유발하지 않는 묘책을 제안한다. 제안된 방법은 ⌊n/2⌋개의 홀수 프로세서들이 그룹을 형성하여 동시에 수행하는 방법으로 실행이 종료되면 다음 프로세서로 우측 이동(shift right)시키는 그룹 라운드-로빈 방법이다. 제안된 방법은 1-라운드의 모든 프로세서를 실행시키려면 짝수 프로세서인 경우 2회, 홀수 프로세서는 3회를 수행하면 되고, n회를 수행하면 짝수 프로세서인 경우는 n/2회, 홀수 프로세서는 (n-1)/2회를 수행하는 방식이다.

기호적 상태 표현 방법을 이용한 병행적 시스템의 검증 (A Formal Verification of Concurrent System using Symbolic State Method)

  • 김한상;최진영
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 1999년도 가을 학술발표논문집 Vol.26 No.2 (3)
    • /
    • pp.137-139
    • /
    • 1999
  • concurrent reactive system은 일반적으로 매우 많은 다른 행동들(different behaviors)을 보여 주기 때문에 설계하기가 어렵다. 또한 한 시스템에서의 구성 요소들 간에 상호작용을 함으로 전체 시스템의 상태를 나타낸다면 전체 상태를 각 구성요소의 상태들의 곱으로 나타내지므로 복잡도는 지수의 곱으로 나타내 질 것이다. 따라서 단순한 테스트로는 시스템 특성의 정확성을 검증하기 위해 모든 상태를 확인할 수 없다. 본 논문에서는 concurrent system의 고전전 문제인 dining philosophers problem을 상징적 기호 표현방법을 이용해서 그 시스템의 정확성을 검증하고 또한 상태 공간 폭발 문제-상태 공간의 크기가 시스템에서 구성요소의 복잡도와 수가 동시에 지수적으로 증가하는 문제-를 어떻게 해결할 수 있는 가를 제시한다.

  • PDF