C# 쓰레드 이야기 중에 저녁식사하는 철학자 문제가 나옵니다. 교착상태(Dead Lock)가 발생하는 상황과 그 해법 중에 하나로 상호배제(Mutual Excrusive)를 설명하는데 꼭 나오는 이야기죠. 교과서에 주로 나오는 문제인데 왠지 해보고 싶어서 직접 코드를 짜보는 Back to the Basic 시간을 가져봤습니다.

식사하는 철학자 문제
5명의 철학자가 원탁에 둘러 앉아 있습니다. 테이블 중앙에는 음식이 있고 철학자의 사이사이에 젓가락이 하나씩 5개가 놓여 있습니다.(사진참조) 철학자들은 생각에 잠기거나 배가 고파지면 먹는 행위 두가지를 할 수 있는데 먹을 때는 반드시 철학자의 양쪽의 젓가락을 모두 사용해야 합니다. 식사를 마치면 젓가락을 내려 놓고 다시 생각에 잠깁니다. 일정시간이 지났을 때 식사를 하지 못하여 굶어 죽는 철학자가 없도록 하려면 어떻게 해야 할까요?


두가지 언어로 작성을 해봤습니다.

C# 코드 (Visual Studio 2010)


C# 즉 .NET Framework 는 쓰레드 동기화 관련된 모니터(lock 키워드)와 뮤텍스(Mutex), 이벤트(AutoResetEvent, ManualResetEvent)들이 잘 만들어져 있어서 쉽게 구현됩니다. Mutex 5개를 사용했습니다.

Java 코드 (JRE 5 이상)



Java 1.4.x 까지는 Sychronized 키워드를 사용하는 모니터와 wait(), notify() 같은 메서드만 제공 되었지만 Java 5부터는 java.util.concurrent 네임스페이스에 쓸만한 그러나 이해를 좀 해야하는 클래스들이 제공이 되네요. 그중에 Semaphore가 들어 있어서 구현을 했습니다.

세마포어와 뮤텍스는 큰차이는 없어 보이는데 구현할 때 명확히 차이가 보입니다. Mutex는 한개 Semaphore는 여러개의 permit을 설정할 수 있습니다.

혹시 숙제하려고 검색해서 들어오신 학생 여러분 그냥 가져가지 말고 스스로 풀어봐야 훌륭한 개발자가 됩니다. 곧 개발자가 귀해지면 훌륭한 개발자들이 많이 필요하니 열공 부탁해요.

WRITTEN BY
ONESTONE

트랙백  0 , 댓글  4개가 달렸습니다.
  1. 비밀댓글입니다
  2. 안녕하세요.
    지금 Os에 식시하는 철학자를 보고 있는 학생인데요
    철학자의 데드럭을 방지하는데 3가지 방법이 있는데 그 중 비대칭 해결방안부분이 이해가 되질 않아 질문드립니다.
    5명의 철학자가 있다는 가정에 홀수 철학자가 왼쪽 젓가락을 먼저 집고 다음 짝수 철학자가 오른쪽 젓가락을 먼저 집는다 라고 책에 나와있습니다.
    그럼 이 부분에 대해서 동시에 홀짝 철학자가
    • 루에나 2012.12.07 14:21
      젓가락을 집으려 한다면 이것 또한 충돌이 일어나지 않을까요??
      그렇담 동시 접근이 일어나지 않게 해야하는데 그럼 결국 비대칭방법의 의미가 쓸모없게 되는데.. 아니면 둘다 동시 접근하는데 우선순위를 두어 홀수 철학자가 먼저 왼쪽 젓가락을 들게하고 내려 놓으면 짝수가 오른쪽 젓가락을 들고
    • 루에나 2012.12.07 14:28
      그래야 동시접근을 제어할 수 있는데.
      이렇게 된다는 가정하에 교착상태는 방지할 수 있지만 한놈이 한 쪽 젓가락을들고 안 놔주면 기아가 발생할 수 있지 않을까요??
      철학자가 밥 먹으려면 양 쪽 젓가락을 모두 사용해야 하니 말이에요
secret
트위터의 링크를 타고 들어온 손정의 소프트뱅크 향후 30년 비전 발표 영상을 보고 큰 감동을 얻어 공유 합니다. 
동영상을 만들고 번역까지 해준 하늘달빛님에게 감사 드립니다. 

(동영상 제작 : 하늘달빛 – 트위터, 블로그)

'통섭'이라는 말이 실감 될 정도로 많은 분야의 지식과 진정성이 묻어 있는 진지한 고민을 느낄 수 있었습니다. 과연 손정의 회장이 말하는 30년 후의 모습, 300년 후의 모습이 실현될지... 30년 후의 모습이 그렇다면 나는 어떻게 살아야 하는지 고민을 해봤습니다. 사람을 행복하게 하겠다는 깊은 철학이 소프트뱅크의 30년 후를 빛내 줄 것이라는 확신이 듭니다. 

후반부에 나오는 어린 시절이야기가 너무 절절해서 눈물이 날뻔했어요. 
소프트뱅크와 손정의 회장의 역사를 알고 싶어 졌습니다. 어떤 책이 있는지 추천해주세요. 


WRITTEN BY
ONESTONE

트랙백  1 , 댓글  0개가 달렸습니다.
secret
 닷넷 개발자들의 축제의 장으로 그리고 이 분야의 전문가들과 선배들의 강연이 어우러지는 닷넷 개발자 컨퍼런스가 올해도 열립니다. 주최측의 얘기로는 장소도 매우 훌륭하고 프로그램을 보니 각 세션의 내용도 상당히 기대가 됩니다. 평일에 열리는 것을 생각해서 미리미리 부서장님께 얘기를 해놔야 겠습니다. 


공식 사이트 : http://www.devddc.net 

  • 일시 : 2010년 5월 28일 (금요일) 09:00 - 18:00
  • 장소 : 건설회관 2층/3층 (7호선 학동역)
  • 주최 : 훈스닷넷(http://hoons.kr)
  • 주관 : ZDNet
오전 세션에서는 정말 롤모델로 삼을 만한 선배님들의 강연이 있네요. 어쩌면 코드 작성법 한시간 보다 더 소중한 내용이 발표가 될 것 같습니다. 

디스트릭트도 실버 스폰서로 행사를 지원하고 있습니다. 오후 UX 트랙의 첫번째 세션 발표를 제가 맡게 되었습니다. 우리가 가진 개발의 지식과 기술들이 디스트릭트에서는 어떤식으로 활용되어 결과물이 나왔는지 사례 중심으로 살펴보려 합니다. 

세션 발표 말고도 다양한 방식으로 참여가 가능하네요. 그중에 한가지가 한국 정보통신산업진흥회와 함께하는"닷넷 프로그램 경진대회" 인데요. 대상 상금도 탐나지만 개발자로서 자신의 수준을 점검하고 입상하면 이력서에 한줄도 매우 소중하겠네요. 

학생이라면 서포터즈에 지원하세요. 한마디로 자봉단(자원봉사단)인데요. 행사를 함께 진행하고 만들어가는 사람들을 모집하고 있습니다. 많은 사람들을 만날 수 있고 큰 행사를 함께 진행한다는 소중한 경험도 얻어갈 수 있을 것 같습니다. 

미리미리 회사 부서장님께 얘기해서 행사때 만나요 ~ 


WRITTEN BY
ONESTONE

트랙백  0 , 댓글  0개가 달렸습니다.
secret

장기하와 얼굴들

일상 2008. 12. 12. 09:33

얼마전 TV에서 보고 Stick 메시지처럼 충격적이어서 머리속을 떠나지 않길래 요즘 찾아서 듣고 있다.
음악인지 개그인지? 홍대의 서태지. 반복되는 멜로디 ... 중독되는 그들의 음악 ... 나부인 홍대 함 뜨자.
그들은 이 식상한 대한민국 음반 업계의 퍼플카우.



곡 해석은 야망보다 꿈을 좇는 블로그에서 퍼왔습니다.

첫곡, 아무것도 없잖어
선지자의 말을 믿고 초원을 향해 갔지만 결국 아무것도 없더라는, 기획 부동산에 속아 땅을 산 서민의 슬픔에서 현실 비판 메시지

두번째곡, 싸구려 커피
현실주의 영향을 받은 백수의 리얼한 생활패턴을 고스란히 담았는데 랩과 일상어의 아슬아슬한 8옥타브 경계를 넘나드는 우리말 억양 살린 구수한 '읊조림'을 마음껏 만끽할 수 있다.

세번째 곡, 달아 차오른다, 가자
달이 차올라 여행을 떠나기 전날의 설레임과 다짐을 담백하게 그려내는데 반복적인 멜로디와 가사, 미미 시스터즈와의 환상적이고 몽환적인 율동은 원더걸스에게 일단 사과부터 하고 싸대기 날리는 강렬한 임팩트를 가진다.

앵콜곡, 나를 받아주오
잘못한 남자의 이별 순간을 그리며 다시 받아줄 것으로 호소하는 곡으로 가사로는 쓰기 힘들 것 같았던 찐득찐득, 엉엉엉엉, 앵앵앵앵 등의 의성어 의태어를 새롭게 해석하고 있다. 반복적 멜로디가 매력있음은 물로.


WRITTEN BY
ONESTONE

트랙백  1 , 댓글  2개가 달렸습니다.
  1. 지송.. 2008.12.12 10:12
    음.. 이사람들 보니 산울림이 생각나는데용 ^^;; ㅎㅎ
  2. 나부인 2008.12.12 10:51
    함 뜹시다. 두구두구두구...
secret

ONESTONE is PDC 2008

일상 2008. 10. 27. 00:46


제가 PDC 2008에 참석 차 LA에 왔습니다. 지금 시차 적응중이죠. 오늘 행사장 가서 등록해요. 정신좀 챙기고 사진이랑 PCD 2008 내용 포스팅 하겠습니다. 화이팅 ~


WRITTEN BY
ONESTONE

트랙백  0 , 댓글  4개가 달렸습니다.
  1. 완전 부러운거 아시죠?
    부러운 아이즈...

    '정신 좀 챙기고'라 쓰시고 'PCD'라고 쓰시는
    언행일치의 센스!도 역시 완전 부러운거 아시죠?
  2. 기대됩니다~
secret

첫째날 이야기에 이어서 둘째날 입니다.

첫날 민박집에 너무 늦게 들어가서 어떻게 생겼는지 자세히 살펴보지 못했습니다. 아침에 느즈막히 일어나서야 실체를 볼수 있었죠. 민박집 이름은 후소당 민박(054-842-6500)입니다. 2007년에 새로 지은 한옥집이라서 깨끗하고 나무 냄새가 그윽한 집이었죠.


민박집 근처에서 안동 간고등어 정식으로 아침겸 점심을 먹고 마을 산책을 나섰습니다. 아름답습니다. 과거 새마을 운동으로 인해 서울이건 지방이건 똑같은 회색빛으로 변했었죠. 헌마을이 얼마나 예쁜지 얼마나 큰 부가가치를 가지고 있는지 그 때는 왜 몰랐던 걸까요?


부용대에 올랐습니다. 부용대는 하회마을을 감싸도는 낙동강 건너에 우뚝 솟아 있는 바위산인데 바로 줄불놀이가 열렸던 그 곳입니다. 강을 건너야 부용 대를 오를 수 있는데 나룻배가 대기하고 있습니다. 인당 2000원으로 나룻배 사공 아저씨가 건너편으로 데려다 줍니다. 부용대에 오르니 하회마을을 한눈에 들어 오네요. 시원합니다.


하회마을을 떠나서 병산서원으로 향했습니다. 자연과 함께 어우러진 병산서원에서는 공부가 참 잘 될것 같았습니다. 인터넷이 된다면 병산서원에서 몇 달 공부하고 싶습니다.



이렇게 1박 2일간의 안동 여행을 마쳤습니다.
국내 어는 관광지보다 풍부한 이야기와 컨텐츠가 넘쳐나는 곳이었죠. 전통과 자연이 어우러져서 풍부한 경험을 제공하고 있습니다. 다시 가고 싶습니다. 안동탈춤을 못봤거든요. 말뚝이가 씹어대는 양반들의 이야기를 듣고 싶습니다. 그냥 조용히 머물다가 와도 좋을 듯 합니다.

이번주에 줄불놀이도 한번 더하고 2008 안동국제탈춤패스티벌이 열리니 연휴에 한번 다녀들 오시지요.

WRITTEN BY
ONESTONE

트랙백  0 , 댓글  0개가 달렸습니다.
secret

우여곡절 끝이 드디어 안동 하회마을에 다녀왔습니다. 때마침 2008 안동국제탈춤페스티벌까지 함께해서 환상적인 1박2일을 보냈습니다. 여기에 여행 이야기와 여행 사진 몇 장을 공유합니다.

첫날은 탈춤 페시티벌 행사장에서 두가지 공연을 보았습니다. 러시아 공연단의 러시아 전통춤 공연. 러시아 전통 춤 하면 생각나는 그 동작 ... 아시죠. 쪼그려 앉아서 다리 한쪽씩 앞으로 피는 동작. 오래하면 무릎이 고장날 것 같은 그 동작 맞습니다. 한 다섯가지 춤을 보여줬는데 정말 러시아스러워요 ^^



안동 국제 탈춤 페스티벌 행사장 주변 풍경입니다. 저도 소원을 적어서 걸었습니다. 꼭 이뤄질꺼에요. 하늘 한번 보세요. 얼마나 예쁜지 ...



저녁으로 근처 찜닭거리에서 안동찜닭을 먹고 행사의 하이라이트로 서둘러 이동했습니다. 장소를 이제 하회마을로 옮겨야 해요. '줄불놀이'를 구경하려면 서둘러야 했습니다. 민박집 아저씨가 당부를 했었습니다. 7시 전까지 꼭 오라고 ... 줄불놀이가 뭐 얼마나 재미있길래 그러시나 했는데 ... 30평생 최고의 불꽃놀이였습니다. 우리 조상들은 정말 천재가 아닐까 해요. 그런 조상을 둔 제가 자랑스럽습니다.

하회마을에서 낙동강 건너에 높이 솟아 있는 부용대에서 5가닥의 줄을 강건너까지 연결을 하고 그 줄에 불꽃을 쭉 메달아 놓았습니다. 불꽃이 폭포처럼, 커텐처럼, 비처럼 머리위로 쏟아 졌습니다.

삼각대와 좋은 렌즈를 준비 못해서 사진이 엉망입니다. 전문 작가들의 사진을 찾아 보시는게 좋을 듯 해요.


 
불꽃 사이를 미친듯이 뛰어 다니다가 저녁 늦게 숙소로 들어갔습니다. 둘째날 사진은 다음 포스팅으로 ...

WRITTEN BY
ONESTONE

트랙백  0 , 댓글  0개가 달렸습니다.
secret

덕수궁 돌담길을 쭉 따라가면 나오는 서울 시립미술관에 오랜만에 들렀습니다. 가끔 계획없이 가기도 하지만 이번엔 '제5회 서울 국제 미디어 아트 비엔날레'를 참관하기 위해서 갔지요. 이번 주제는 "확장과 전환"으로 2008년 9월 12일부터 11월 5일까지 열립니다. 주말에 특별한 계획 없이 늦잠을 잤다면 대충 차려입고 한번 들러 보시길 강추 드립니다. 무료! 무료에요.

회화도 무척 매력이 느껴지기는 하지만 미디어 아트라는 분야가 특히 더 재미있는 것 같습니다. 제가 일하고 싶은 분야와 매우 가깝기도 하죠. 사실 어떤 웹사이트는 정말 예술적인 느낌이 충만해서 그 자체가 미디어 아트이기도 합니다.

1층의 주제는 "빛, LIGHT", 2층은 "소통, COMMUNICATION", 3층은 "시간, TIME"이라는 주제로 국제라는 이름에 걸맞는 많은 작품이 출품되었습니다. 그중에서도 제 눈길을 사로잡은 작품 3개만 같이 보시지요.

1. 파블로 발부에나. 증강된 조각 시리즈, 2007-2008, 비디오 영상 설치


아! 역시 사진으로는 느낌이 전달되지를 않네요.
설치물의 구조를 보면 보시느 것처럼 흰색으로 칠해진 입체구조가 어두운 방안 한쪽 구석에 자리를 잡고 있습니다. 방의 반대쪽 모서리 상단에 빔 프로젝터가 걸려 있고 영상을 쏘고 있습니다. 영상 자체가 입체구조와 환상적인 조화를 이루면서 입체를 더욱 입체로 만들기도 하고 그림자와 대비를 이루기도 하고 ... 가만히 보고 있으면 어쩌면 흔한 흰색 입체 모양이 계속해서 변해가는 모습이 신비롭습니다.

2. 리 후이, 환생, 2007, 레이저 설치






1층으로 들어가면 가장 먼저 눈길을 사로잡는 작품입니다. 침대위체 수많은 붉은색 레이져가 비추고 있고 침대 밑에서 서늘한 김이 올라와서 레이저와 부딪쳐 수많은 레이저 광선이 커튼처럼 펼쳐집니다. '환생'이라는 제목처럼 음침하면서도 환상적인 느낌과 서늘한 느낌이 아주 특이했습니다.

3. 크리스타 좀머러와 로랑 미노뉴, 생명을 쓰는 타자기, 2006, 인터렉티브 설치


이건 정말 재미있고 신기한 작품입니다. 작품을 설명하는 도우미 알바생이 있어서 설명을 해주는데요. 타자기가 인터페이스 입니다. 하얀 백지에 타자기로 글씨를 쓰면 그 글씨들이 새로운 생명체로 다시 태어나서 백지 공간을 기어 다닙니다. 그 생명체들을 몇 마리 만들어 놓으면 자기들 끼리 충돌을 하면 그 자리에 새로운 한마리가 다시 태어 납니다. 그러다 보면 백지 하나 가득 벌레같은 생명체들이 가득 차게 되는데  타자기로 글자를 입력하면 그 생명체들이 글씨 주변으로 모두 몰려들죠. 징그러워 ~

아 하나더요.
제가 아는 작가의 작품이 있었습니다.

4. 이준, 한 병의 일기(日氣). 2008. 인터렉티브 설치


저기 보이는 병이 바로 인터페이스 도구입니다. 병을 들고 아래 칸칸이 들어 있는 영상을 찍어서 병에 넣고 칵테일을 만들듯이 병을 흔든 뒤 접시에 부어 넣으면 영상들이 섞여서 가상의 날씨를 만들어 큰 화면에 표시됩니다.

이 작가님은 제가 아시는 분이에요. (아 자랑스러워라 ~) 준이형 화이팅~ 나중에 진짜로 같이 작품해요. 저도 껴줘요.

주저리 주저리 설명을 해보려고 했는데 ... 댓구요!! 직접 가보세요. 창의적인 자극이 팍팍 ...

WRITTEN BY
ONESTONE

트랙백  1 , 댓글  1개가 달렸습니다.
  1. 트랙백 둘 중 하난 잘못 날렸어요. 삭제해 주세요. ^^;;
secret
우리 회사의 매주 수요일은 가족의 날입니다. 가족의 날 만큼은 일찍 귀가해서 가족과 함께 화목한 시간을 보내라는 취지죠. 잊지않도록 친절하게 메일로 알려주기도 합니다. "18:30분전까지 모두 귀가 하세요." 시행 초기에는 갔나 안갔나 체크를 하는 당황스러운 상황도 있었습니다.

듣는이에 따라서는 '바뻐죽겠는데 대신 밀린일을 해줄것도 아니면서 왠 가족의 날'이라는 생각을 가질 수도 있습니다. 역설적으로 '수요일만 일찍가고 다른 날은 늦게까지 일해라'라는 은유적인 표현이다. 까칠하게 표현하지면 그렇죠.

그래도 회사가 그렇게 사악한 생각으로 가족의 날은 만든것 같지는 않습니다. ^^

어째든 가족의 날이니까 일찍 퇴근을 했습니다. 18:10분에 나왔습니다. 부담이 없습니다. 눈치를 보지도 않았구요. 귀가길에 그녀을 만나서 같이 들어가는 길이 참 신기합니다. 이런날이 별로 없으니까. 나는 청소를 하고 그녀는 요리를 합니다. 오늘은 '궁중 떡볶기". 일취월장이라는 말을 여기다가 붙여야겠죠. 아주 먹음직 스러워요.

궁중떡뽁이

궁중떡뽁이


가족의 날은 가족의 날 답게 ... 이런 날도 있어야죠.

WRITTEN BY
ONESTONE

트랙백  0 , 댓글  0개가 달렸습니다.
secret
지난 2008년 6월 11일 수요일 코엑스 오디토리움에서 열린 REMIX08 Korea Beyond RIA 행사에 참석했었습니다. 마이크로소프트의 꽤나 큰 행사에 10분간의 발표자로 참석을 했죠. UCCLight 프로젝트의 데모 시연중에 사고 (네트워크가 끊겨있어서 데모가 진행이 되지 않는 ...)가 발생하여 매끄럽지 못한 진행이 아쉬웠습니다. 발표를 마치고 생각해보니 내용도 조금 약했다는 생각이 들기도 했지요.

하지만 거의 한달 간 일과후 쉬는시간, 자유시간을 반납하며 준비했던 그 기억은 오래 갈 것 같습니다.
 - UCCLight 프로젝트 리더 - 박경훈 님
 - Microsoft Expression Encoder 2 SDK를 이용하여 업로드된 동영상의 자동인코딩 개발을 담당한 - 김수영 님
 - ASP .NET 개발을 담당한 - 김시원 님
 - 그리고 저는 실버라이트를 이용하여 미디어 플레이어 개발을 맡았습니다.
그들 모두에게 박수를 보내드립니다.

그리고 준비와 행사당일의 모습을 따라가 보겠습니다.


사용자 삽입 이미지
행사 전날 리허설 장면입니다. 네트웍을 확인하고 데모사이트가 정상적으로 연결되는지 확인을 했죠. 이 때는 문제가 없었습니다. 속도도 빠르고 ...

사용자 삽입 이미지
리허설 당시의 텅빈 행사장. 쓸쓸하기만 합니다.

사용자 삽입 이미지
행사 당일날. 역시 많은 분들이 이른시간부터 자리를 채워 주셨습니다. 열정이 대단들 하십니다. 대한민국 IT의 미래는 밝아요 ~

사용자 삽입 이미지

행사가 시작되고 우리는 떨기 시작했습니다. 키노트는 대화, 인터뷰 형식으로 진행이 되었습니다. 13개 업체가 참석을 했고 감명 깊은 데모를 봤고 대표분들의 철학을 들었습니다.

사용자 삽입 이미지

 점심을 먹고 오후 세션이 시작되었습니다. 첫번째와 두번째 세션이 진행되는 동안 UCCLight 팀은 마지막 리허설을 하고 있습니다. 최종 점검... 시간은 적당한지 최종 PT에 이상은 없는지.

단 10분의 발표를 위해 많은 시간을 들였습니다. 스트레스도 많이 받았죠. 많은 사람들 앞에서 발표를 한다는 것이 그렇게 쉬운일이 아닌것 같습니다.

사용자 삽입 이미지
사용자 삽입 이미지
사용자 삽입 이미지
사용자 삽입 이미지

발표 시간은 어김없이 오더군요. 사고가 있었지만 모두들 최선을 다했습니다. 하지 못한 얘기들, 빨리 넘어갔던 중요 포인트, 넘겨버린 발표시간 ... 아쉽습니다. 하지만 들어주셨던 분들에게 조금이라도 도움이 되었다면 그저 감사할 따름입니다.

1시간의 짧은시간에 하지못한 많은 얘기들이 있습니다. 다음 훈스닷넷 정기세미나에 좀더 심도깊은 얘기를 하자고 약속했습니다. 기대해 주세요.


WRITTEN BY
ONESTONE

트랙백  0 , 댓글  5개가 달렸습니다.
  1. 정말 고생 많으셨습니다.
    잘하셨어요. 파이팅!
  2. 홋홋..가고 싶었는데..멋지군요..:)
    미디어 플레이어 보고싶네요~
  3. 수고 많으셨습니다. 다른 후기들을 보면 내용이 인상 깊었다고 하더라고요.
    제가 그 시간에 다른 일정으로 참석을 못했는데, 나중에 영상으로라도 :)
  4. 와우 우리 시삽들 넘 멋쪄멋쪄~
secret