도대체 누가 이런 걸 고민하는 건가

식사하는 철학자들 문제는 전산학에서 동시성과 교착 상태를 설명하는 예시로, 여러 프로세스가 동시에 돌아갈 때 교착 상태가 나타나는 원인을 직관적으로 알 수 있다.

다섯 명의 철학자가 원탁에 앉아 있고, 각자의 앞에는 스파게티가 있고 양옆에 젓가락이 한 짝씩 있다.
그리고 각각의 철학자는 다른 철학자에게 말을 할 수 없다.
철학자가 스파게티를 먹기 위해서는 양 옆의 젓가락 짝을 동시에 들고 있어야 한다.
이때 각각의 철학자가 왼쪽의 젓가락 짝을 들고 그 다음 오른쪽의 젓가락 짝을 들어서 스파게티를 먹는 알고리즘을 가지고 있으면, 다섯 철학자가 동시에 왼쪽의 젓가락 짝을 든 다음 오른쪽의 젓가락 짝을 들 때까지 무한정 기다리는 교착 상태에 빠지게 될 수 있다.
또한 어떤 경우에는 동시에 젓가락 양짝을 집을 수 없어 식사를 하지 못하는 기아 상태가 발생할 수도 있고, 몇몇 철학자가 다른 철학자보다 식사를 적게 하는 경우가 발생하기도 한다.

솔직히 뭔 말인지 못 알아 먹겠다. 교훈은 순서를 지켜야 한다는 건가?

닥쳐 - 굶어 - 스파게티가 없음 짜파게티를 먹어 - 이러고 열어둔 윈도우 창을 닫음. 수학과 철학의 경계선인가, 아님 프로그래머들은 늘 이런걸 두고 고민하는 건가. 멀티프로그래밍 공유 자원에 대한 접근을 제한하는 방법이라는데 갑자기 밥 먹는 철학자 이야기가 나온다.
몰라. 독수리 타법으로도 채팅은 가능해.

Posted by 미야

2013/01/02 19:53 2013/01/02 19:53
Response
No Trackback , 2 Comments
RSS :
http://miya.ne.kr/blog/rss/response/1808

Trackback URL : 이 글에는 트랙백을 보낼 수 없습니다

Comments List

  1. 초은 2013/01/09 13:14 # M/D Reply Permalink

    컴퓨터 운영체제에서의 고전적인 프로세스 동기화 문제입니다. ^^
    철학자는 작업을 수행하는 각각의 프로세스(=현재 수행중인 프로그램),
    젓가락은 작업 수행에 필요한 자원(메모리나 파일, 입력장치 등), 스파게티는 수행해야 할 작업에 빗대면 되겠네요.

    멀티프로그래밍이라는 용어가 병렬적으로 여러개의 프로세스를 돌린다는 뜻인데, 공유중인 젓가락으로 동시에 경쟁하다보니 무한정 자기순서 기다리는 사람, 기다리다가 굶어죽는 사람이 생기는 이치입니다;;
    이렇게두면 컴퓨터가 모든 작업이 스탑되는 교착상태에 빠진다거나 부하를 못견디고 다운되는 문제가 발생되기 때문에 운영체제 설계에서 아주 중요한 문제입니다.

    정확한 예는 아니지만 가족과 공유중인 양말통에서 동시에 양말 한 쌍을 꺼내는 일과 비유할 수 있겠네요.
    (아니 흰양말 한 짝이 대체 어딨지? 하고 있는데 그걸 언니가 들고 있는 상황 - 언니가 흰양말 신고 나가버리면 나는 언니가 돌아올때가지 기다려야하죠... 혹은 흰양말을 쥐고 있는 언니가 사실 찾고 있는건 검은양말이고 내가 검은양말 한 짝을 들고 있다면 둘 다 나갈 수가 없습니다. ㅎㅎ 이 문제의 전제는 서로 소통이 안되는 상황을 가정하기 때문입니다. 사람수가 늘어나면 더 복잡해지겠죠??)

    간단한 해결방법으로는 젓가락 하나 더 추가, 철학자 한명 없애기,양쪽 젓가락이 모두 있을때만 들도록 하기 등이 있습니다. 근본적인 해결방법은 복잡하구요~ @.@

    슬레시절 미야님 필력에 홀딱 반해 오랫동안 눈팅해오는 중인데 전공이야기가 나와 잠시 수면밖에 빼꼼 해 보았습니다. 긴 댓글 실례가 되었다면 죄송합니다. ^^;;

    1. 미야 2013/01/09 19:41 # M/D Permalink

      갓파님, 커밍아웃 환영.
      설명 감사합니다. (사실 여전히 알 듯 말 듯 합네다) 컴퓨터 운영체제 문제인데 묘하게 인간미 넘치는 철학적 문제처럼도 보여요. 순서 기다리다 굶어죽을 판국이라니...;;

Leave a comment
« Previous : 1 : ... 427 : 428 : 429 : 430 : 431 : 432 : 433 : 434 : 435 : ... 1974 : Next »

블로그 이미지

처음 방문해주신 분은 하단의 "우물통 사용법"을 먼저 읽어주세요.

- 미야

Archives

Site Stats

Total hits:
1021518
Today:
81
Yesterday:
1282

Calendar

«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31