본문 바로가기
OS

교착상태(Deadlock) - 식사하는 철학자 문제를 쉽게 알자 (Dining Philosophers Problem)

by Integer Essence 2025. 11. 1.

 
교착 상태는 여러 프로세스가 서로가 가진 자원을 기다리느라 아무것도 진행하지 못하는 상황이다. 
 
대표적인 예시로 식사하는 철학자 문제가 있다. 
 
사실 이미 너무나도 상황이 명확하고 기억에 남는 예시라서 뭐가 더 필요한가 싶지만 설명하고 이미지를 만드는 과정에서 머리에 한번 더 각인하고 글도 남겨보자는 취지에서 작성해본다 
 
- 상황

  • 둥근 식탁에 철학자 5명이 앉아 있고,
  • 철학자 사이에는 포크 1개씩, 총 5개가 있음.
  • 철학자는 먹으려면 양손에 포크 2개가 필요함.
  • 하지만 동시에 양쪽 포크를 집으려다 보면 모두 한 개만 들고 다른 한 개를 기다리는 상황이 생김.

 
이해를 위해서 혼자 찾아본 쉬운 예시나 그림이 뭐가 있을까 싶어 생각해보니 
 
예능으로 치면 무한도전의 - 손에 손잡고 특집이 있다.
예전에 밥먹을때마다 무도 본게 어디 쓸데가있나 생각했는데 이런 예시 들때 써먹을 줄이야 인생 뭐든 도움이 되는구나 하는 잡다한 감상이든다. 

무한도전 - 손에 손잡고 특집
역시 없는게 없는 무도

 
해당 회차에선 서로 손을 묶고 있어서 한 명이 화장실 들어가면 따라들어가야되는... 그런 상황이 발생한다 이건 현실에선 교착상태라기보단 그냥 끔찍한 상태인거같긴하다.
 
추가적으로 AI를 통해서 공부한 내용의 이미지를 만들어 보며 재생산 하는 시간을 가져보고자 했는데 
 

 
철학자 모습을 좀 캐릭터성 있고 귀여운 디즈니 느낌으로 바꾸고 싶어서 
 
이건 내가 원하던게 아니야 사랑스러운 철학자로 바꿔줘 했더니 
 

 
이렇게 바꿨다 
 

나노 바나나 뭐하냐?

 
 
분명 영어로 adorable 하게 만들어달라고 요청했는데 쉽지않네 누가 학습시켜놓은걸까 
여담이지만 이런 세세한 컨트롤을 자연어로만 처리한다는건 아무리 생각해봐도 넌센스인거 같다.