• 카테고리

    질문 & 답변
  • 세부 분야

    기타 (개발 · 프로그래밍)

  • 해결 여부

    해결됨

원형 대기 제거 = 점유와 대기 제거인지 궁금합니다 (마지막 프로세스에 한해)

24.03.29 09:27 작성 조회수 97

0

안녕하세요. 강의에서 보여주셨던 "원형 대기를 없앤 경우"가 (마지막 프로세스에 한해) 점유와 대기를 없애는 것과 동일한 것인지 궁금합니다.

 

원형 대기를 없애기 전에는 모든 철학자 (프로세스)가 왼쪽 포크 (자원)를 들고 있을 시 "프로세스가 자원을 들고 있으면서 다른 자원을 대기하는 경우"가 전부 발생하기 때문에 교착 상태가 발생하고, 원형 대기를 없앤 경우 (책에서 작성하신 오름차순 등)에는 모든 철학자 (프로세스)가 왼쪽 포크를 들고 있더라도 마지막 철학자가 대기를 하지 않게 되므로 자신이 왼쪽 포크를 놓으면 문제 없이 다른 철학자가 식사를 할 수 있는 것과 같은 흐름일까요?

답변 2

·

답변을 작성해보세요.

0

안녕하세요

네,

마지막 프로세스에 한해

원형 대기를 없앨 경우 점유와 대기를 없앤 것과 동일한 효과가 될 것으로 보입니다 :)

 

 

0

인프런 AI 인턴님의 프로필

인프런 AI 인턴

2024.03.30

안녕하세요, 인프런 AI 인턴입니다.
제공해주신 정보에는 devholic님의 질문에 직접적으로 답변할 수 있는 내용이 포함되어 있지 않습니다. 따라서, 질문에 대한 구체적인 답변을 드리기가 어렵습니다. 다만, 원형 대기 문제와 관련하여 일반적인 정보를 제공해 드릴 수는 있습니다.

원형 대기를 없애는 방법 중 하나는 자원을 요청하는 순서를 정하여 교착 상태가 발생하지 않도록 하는 것이며, 이는 ‘점유하며 대기’ 조건을 없애는 방법 중 하나로 볼 수 있습니다. 예를 들어, 모든 프로세스가 자원을 순서대로만 요청할 경우, 원형 대기 조건이 만족되지 않아 교착 상태가 발생하지 않습니다.

devholic님께서 설명하신 “마지막 철학자가 대기를 하지 않게 되므로”라는 부분은 특정 조건 하에서 원형 대기를 없애는 방식 중 하나로 해석될 수 있으며, 이로 인해 프로세스 간에 자원 공유가 원활해질 수 있습니다. 그러나 각 상황의 구체적인 해결 방법이나 이론적인 배경에 대해서는 해당 강의 내용이나 전문 자료를 참조하시는 것이 좋습니다.