수요일, 1월 16, 2008

Y2K38 Problem...

:: Year 2038 Problem
Source:
http://en.wikipedia.org/wiki/Year_2038_problem



The year 2038 problem (also known as "Unix Millennium bug", "Y2K38," "Y2K+38," or "Y2.038K" by analogy to the Y2K problem) may cause some computer software to fail before or in the year 2038. The problem affects Unix-like operating systems, which represent system time as the number of seconds (ignoring leap seconds) since January 1, 1970. This representation also affects software written for most other operating systems because of the broad deployment of C. On most 32-bit systems, the time_t data type used to store this second count is a signed 32-bit integer. The latest time that can be represented in this format, following the POSIX standard, is 03:14:07 UTC on Tuesday, January 19, 2038. Times beyond this moment will "wrap around" and be represented internally as a negative number, and cause programs to fail, since they will see these times not as being in 2038 but rather in 1901. Erroneous calculations and decisions may therefore result.

음...
time_t 를 unsigned 32-bit integer로 바꿔도 year 2106 밖엔 되지 않군요...
하아~ 순간 OS 에 상관없이 64bit 로 슬슬 준비 해야할까? 라고 생각했는데,,,
과연 내가 2100 年 까지 살수나 있을라나 ? :)

죽기전에 나의 DNA 와 뇌의 모든 정보를 backup 해서 Matrix 에 넣어줬으면 좋겠다...

Cheers,
godmode2k

화요일, 1월 15, 2008

3D Virtual Desktop

:: 3D Virtual Desktop: Deskspace
http://www.otakusoftware.com/deskspace/

나름 XGL 따라한 것 같은데...
나쁘진 않다... :)

다운로드는 아래 사이트에서... 여기~
http://moncheri.egloos.com/1278248




Cheers,
godmode2k

일요일, 1월 13, 2008

WIPIC 에서 Error: L6218E: Undefined symbol Image$$ZI$$Limit (referred from sys_stackheap.o)

:: Re-implement __user_initial_stackheap() when using Scatterloading
http://www.arm.com/support/faqdev/1247.html

음... 위의 내요을 보면 ADS 1.1 이나 earlier version 에서 이러한 문제가 발생한다고 나와있으나 나의 경우엔 ADS 1.2 임에도 불구하고 이러한 문제가 발생한다.
다른 장소에서 같은 버전으로 테스트 해보았을 때 문제가 되지 않은걸 보면 source 에 나도 모르고 있는 어떤 code 가 추가되어있나 보다. 아래 방법 말고 다른 쉬운 방법이 있을것 같다.

일단 아쉬운대로, WIPIC 에서 ADS 1.1 or 1.2 로 build 시 아래와 같은 error 가 나올 때
Error: L6218E: Undefined symbol Image$$ZI$$Limit (referred from sys_stackheap.o)

다음과 같이 하자.


#1 우선 아래의 code 를 작성한다.

Filename: file.c
#ifdef WIN32
#else
#include <rt_misc.h>

__value_in_regs struct __initial_stackheap __user_initial_stackheap(
unsigned R0, unsigned SP, unsigned R2, unsigned SL)
{
struct __initial_stackheap config;

config.stack_base = 0x00080000;
config.heap_base = 0x00060000;

return config;
}
#endif

#2 이렇게 작성한 file.c 파일을 VC++ IDE 에서 추가하자.
(#ifdef WIN32 를 한것은 VC 에서 build 할 때 error 나는걸 방지하기 위함)

#3 ADS 로 build 한다.



Cheers,
godmode2k

토요일, 1월 12, 2008

드라마 대본 - 신발끈 #1 of 3

꽤 오래전에 작성을 했지만, 다음카페 "드라마소굴"에 posting 한 이후로 blog 에는 이제서야 posting 한다. 글 솜씨는 없지만 나에겐 꽤 멋진 그리고 좋은 경험을 했고 앞으로도 그럴 것이다. 현재 2화를 집필중인데 오랜시간이 지체되는 것 같다. 작업할 시간이 없었다면 핑계이겠지 ? :)
앞으로 열심히 작업을 해야겠다...

(Since year 2005,,,)
신발 끈
각본: 김호중(godmode2k at hotmail dot com)

마음이 아픕니다... 가슴도 아픕니다... 하지만 난 웃고 있어요...
애써 웃는 그녀 모습에 내 자신이 더 초라해 집니다...
우리 운명은 누가 꾸며낸 이야기인지...

마지막으로 남겼던 "함께하자"란 그 한마디가 당신을 더 사랑하게 합니다...
이번 세상에서 2번의 헤어짐이란, 이젠 두렵지 않아요...

“신발 끈 풀어졌다. 봄아~”



<주제>
신발 끈 - 김호중(godmode2k at hotmail dot com)

<기획의도>
우리가 흔히 알고 있는 신발 끈이 주는 생각과 느낌. 신발 끈이 이유 없이 풀어졌을 땐 누군가 그 사람을 생각했다고 하는 자연스러운 생각. 이 느낌을 주위에서 흔히 느낄 수 있는 자연스러움으로 사람과의 관계를 연결시켜 비록 우연일지언정 가슴 아픈 한 사연을 유도함으로써 우리는 과연 가족, 연인, 주위의 사랑하는 그 어떤 사람들을 얼마나 진심으로 걱정하고 생각하며 살아왔는지를 보여주고 싶다.

<작품의도>
신발 끈에 의해 헤어짐과 맺어진 인연. 그리고 또 다른 헤어짐. 한사람으로 인해 다른 사람들의 아픔, 또 그 다른 사람에 의해 많은 사람들의 아픔. 우리는 현재 가장 사랑하는 사람만을 위하며 걱정하고 아파하고 즐거워한다. 또한 남이 받을 상처는 잘 생각해 내지 못한다. 때론 이를 죽음으로써 표현하기도 한다. 자신을 사랑하는 다른 사람들의 아픔과 고통은 잊은 채, 오직 사랑하는 그 사람만을 위해서. 아버지를 잃은 예은가족의 아픔과 은영을 잃은 태윤의 아픔. 다시 맺어진 예은과 태윤과의 아픔에서 또 한번 가슴아파해야하는 예은가족. 단지 사랑하는 사람을 따라 목숨을 바치는 이러한 슬픈 현실을 로맨틱하게 포장할 수도 있겠지만 여기에 큰 비중은 두지 않고 아픔 그 자체를 조명한다.

<간략줄거리>
어릴 때 같은 동네에서 자란 예은과 태윤. 하지만 둘은 서로를 모른다.
예은이 12살 때 서울로 이사를 하고 그해 교통사고를 당하고 만다. 대학까지 무사히 마친 예은이지만, 어렸을 때 겪은 교통사고로 심장이 좋지 않다. 하지만 항상 밝은 아이 예.은.

태윤은 중학교까지 시골에서 보내고 서울로 올라와 대학을 마친 뒤 일본으로 유학을 간다.
유학도중 횡단보도를 지나다 우연히 한국인 예은을 보게 된다. 그녀는 잠시 후 자신의 풀어진 신발 끈을 보며 “또 끈 풀어졌네...”. 태윤, “횡단보도 앞에서 신발 끈 매는 건 위험하잖아! 봄아...” 횡단보도 앞에서 쪼그려 앉아 신발 끈을 매던 그녀. 얼마 전 은영의 모습과 비슷하다.

태윤이 일본유학 때 사귀었던 한국인 유학생 은영이가 횡단보도 앞에서 신발 끈을 매다 교통사고로 죽은지 1년이 되던 해 사고가 난 같은 자리에서 예은을 만난다.

<등장인물>
(아래의 나이는 극 중에서 1살을 더한 나이임. 극 중에서 나이를 한살 먹음.)
한 예은 (24) // 똘랑똘랑(?)한 아이. 언제나 덜렁쟁이. 실내 인테리어가 취미.
김 태윤 (27) // 어린아이 같지만 후에 성격이 변함(내성적(거친)).
디카로 사진 찍기가 취미.
대학 졸업 후 뚜렷한 목적 없이 일본으로 유학을 결심.
이 은영 (27) // 일본 유학시절 태윤의 여자친구/동거녀. 고아.
Figure(작은 모형 인형) 제작을 배우러 일본으로 유학.

임 숙자 // 예은 어머니: 털털함.
한 석진 // 예은 아버지: 공무원. 아이들에게 너무나도 상냥함.
한 수진(26) // 예은 언니: 연기 지망생,
수진과 동생 예은은 항상 밝고 귀여운/천방지축 스타일로 표현,
따라서 일본풍의 밝고 귀여운 애니메이션과 자주 엮음.
한 건(23) // 예은 남동생: 대학생, 누나들에겐 상냥함. 남자다움이 있음, 얍삽함

박 미자 // 태윤 어머니: 예은 어머니와 고등학교 동창
김 현문 // 태윤 아버지: 대학교수. 겉으론 근엄하지만 아내에게 낭만적

편의점 직원/손님(여고생들, ...), 일본인유치원 아이 남/여, 연극음악학원 강사/수강생들, ?구청직원/민원인, Fig. 일본인강사/수강생들, 일본인 행인들, 경찰/소방대원/구급요원/지하철 시민들, 건, 친구들 1, 2, 3, 예쁜 걸, ...

<전체 줄거리>
.....................











<각본 시작>
신발 (끈) - 1회/16(예정) - (한글 2002기준, 25쪽~30쪽 씩, scene min 55, max 80)
(16회 예정 또는, 최소 3회 최대 5회로 예정)

1. #인서트 (INS)
시간은 2005년을 거슬러 올라가 1990년대 어느 한 시골 동네.
(NAR) 과거에 대한 회상
"어느덧 봄이 가고 초여름이다. 이 맘 때면 그곳은... 이곳은 내가 어려서 태어나고 어린시절을(유년기를) 보낸 동네이다. 지금쯤 동네 사람들은 모내기 때문에 논밭에서 하루하루를 보내시겠지. 맑은 하늘. 맑은 공기. 냇물은 아직 그때 그대로 일까? 그때 그 초여름이 그다지 덥지 않고 선선했다."

"오늘 날씨가 그런 날씨인 것 같다. 새벽부터 힘들게 일해서 얼굴엔 땀이 가득이지만 하늘을 보니 내심 예전 시골에서의 하늘이 생각난다. 그 때의 공기가 참 신선하고 좋았는데 말이다."

2. #편의점 / 예은
편의점 직원: 예은씨! (잠시 생각에 잠긴 예은)
편의점 직원: 한 예은씨! (직원의 말에 멍하니 바라만 본다)
편의점 직원: (웃으며) 예은씨, 오늘 따라 무슨 생각이 그렇게 많아?
예은: 아,, (웃음) 날씨가 좋아서요... (옅웃음)

(편의점에서 아르바이트를 하는 예은이가 화창한 월요일 오전, 오늘 기분이 좋다.)
예은: 아자! (활기찬 웃음으로 귀엽게)

(늘 그랬지만 오늘도 예은이의 귀여운 홧팅의 목소리가 아침을 연다.)

3. #일본(도쿄 우에노 공원) / 태윤
(BGM)
푸른 하늘과 생기 넘치는 꽃잎들, 나무들. 정말 생기 있는 초여름이다.
비둘기에게 먹이를 주는 아이들. 화창한 여름날 산책을 하는 한 다정한 노부부. 유치원 아이들이 소풍을 왔는지 여기저기에서 노란색 옷들이 꼭 노랑나비처럼 날아다닌다. 잔잔한 바람. 오늘 공원은 생기가 넘친다.

(PAN.) 연못이 있는 한 산책로에서 은영, 바람이 불어오는 쪽으로 서서 태윤에게 한쪽 팔은 팔장을 끼고 다른 한쪽 팔을 수평으로 들어 눈을 감으며 자연 그대로를 음미 한다. 태윤, 은영의 이런 모습을 보며 사랑스러워 한다.

태윤: 우리 은영이 오늘 너무 사랑스럽다. (옅웃음이 가득한 표정으로)
은영: (태윤을 바라보며 살며시 웃는다.)

(유치원 아이들 중 두 남녀 아이가 앉아서 도시락을 먹으며 서로 귀엽게 얘기한다.)

일본인유치원아이 남: (일본어로) 치에짱. 이거 먹어. 너 이거 좋아하잖아... (너무 즐거운 표정으로)
일본인유치원아이 여: (일본어로) (옅웃음, 남자 아이가 너무 예뻐 보이는) 응...
일본인유치원아이 여: (일본어로) (꿀맛 같은, 갖고 싶은 선물을 받은 듯이) 맛있다.

(아이들의 이런 모습을 본 태윤과 은영. 너무 사랑스럽다.)

태윤: 은영아.
은영: 응
태윤: (이상한 상상에 잠시 잠긴 듯한 옅웃음) 만약에...
은영: (조금 궁금한 듯이) ...
태윤: 음... 만약에 말이야... 너랑 나랑 결혼하면... (귀여운 웃음이 나온다.)
은영: (귀엽다는 듯이) 나랑 결혼 하고 싶어?
태윤: (어린 아이처럼) 당근이지... (좋아한다.)
은영: (어린 아이를 달래는 듯이 엉덩이를 두드리며) 우리 이쁜 태윤... 누나랑 결혼하고 싶어요?... (웃음)
태윤: (나를 아이 취급하지만 한편으론 너무 좋은) 결혼해주라~~~ 응?...
은영: (뭔가를 결심한 듯이) 너 하는거 봐서... (웃음)
태윤: (약간 불평하는) 나 잘하고 있잖아... 응?... (장난기 있듯이) 응? (웃음)
은영: (웃음) 내가 그렇게 좋아?
태윤: 음... (잠시 생각) (다정하듯이) 뭐라고 표현할 수는 없지만 너가 내 곁에, 아니 이 세상에 없다고 생각하는 건, 죽는 것 만큼이나 싫어... (옅웃음) (머슥한 듯 아래를 본다.)
태윤: 아유... 봄아... 너 또 신발 끈 풀어졌다.
은영: (조금 지겨운 듯이) 어, 언제 풀어졌지?
태윤: (신발 끈을 매다 잠시 조금 석연찮은 표정으로) 누가 널 자꾸 생각하는 거 아니야?
은영: (웃음) 그래? ... 누굴까~? ...
태윤: (웃으며) ...
은영(E): 한국에 가서...
태윤: (끈을 마저 다 매고 나서, 잘 못 들은 듯) 어?
은영: 한국에 돌아가서 결혼해 줄께... 너하고... (옅웃음, 안아달라는 표정으로)
태윤: (아이처럼 너무 좋아하며) 정말이야?
은영: (웃음, 고개를 끄덕) ...
태윤: (너무 좋아하며 소리를 지른다) 은영이는 내꺼다!
태윤: (주위의 사람들을 보며) (일본어로) 저하고 결혼해준대요!
태윤: (세상이 모두 내 것인 듯 들판을 보며 소리를 지른다) 야 ~ ! (옅웃음)

(C.I.)
타이틀 보여줌. ‘신발 (끈)’

4. #예은의 집 (재미있는, 활기찬 집안을 묘사)
예은 엄마 숙자가 시계를 본다. 시간은 아침 8:30분. 예은 언니 수진과 동생 건이 늦잠을 자고 있다. 예은 엄마가 물뿌리개를 들고 수진의 방으로 들어간다.

예은엄마: (눈빛이 뭔가를 기다린 듯이) (다정한 목소리로) 수진아... 일어나야지...
수진: (귀찮듯이) 엄마... 나 깨우지마...
예은엄마: (비웃으며) 밥은 먹고 자야지?... 수진아...
수진: (포기한 듯) ...
예은엄마: (기다렸다는 듯이, 화나진 않았지만 조금 짜증난) 야이 기집애야! 니가 지금 나이가 몇인데 응? 니 동생 예은이는 새벽밥 먹고 알바 하러 가는데... 넌 뭐야?... 어?
수진: (이불을 겉이며, 헤롱헤롱, 잠에서 아직 깨어나지 않은) 엄마... 걔는 걔고, 나는 나야... (다시 이불을 덮는다)
예은엄마: 이놈의 기집애가 ...

(숙자. 수진이 자고 있는 이불을 겉이며 수진 얼굴에 물뿌리개로 물 한번 뿌리고 나서,)

수진: (약간은 깜짝 놀라며) (침착한 척) 엄마... 이젠 나 이런거 안 통해...

(이건 아니다 라는 표정으로)

예은엄마: 이게...~!

(물뿌리개 뚜껑을 열고 통째로 수진의 얼굴에 뿌린다.)

수진: (깜짝 놀라며) (짜증나며) 엄마!... 이게 뭐야~~... (울음)
예은엄마: (웃음) 안통한다매!
수진: 그래도... (계속 울음)
예은엄마: (고소하다는 듯이 물뿌리개 뚜껑을 닫으며) 이것아... 옛말에 엄마 말을 들으면 떡 하나 더 얻어먹는다고 했어... 빨리 일어나서 씻고 밥 먹어... (돌아서며 웃음)
수진: (울음 그치고 짜증나며) 이게 뭐야...
예은엄마: (뭔가 또 하나 생각이 난 듯이) 건이... 건이 이놈... (서둘러 거실로 나간다.)
건: (거실에 나와 태연히 하며) 엄마, 난.. 일어났어요... (웃음, 애교)
예은엄마: (웃으며) 우리 아들 일어나셨어?... (엉덩이를 두드려 준다)
건: (웃음) ...
예은엄마: (물뿌리개로 건이 얼굴에 뿌리며, 인상 쓰며) 시간이 몇 시인데 이제 끼대 일어나! (물뿌리개로 계속 뿌린다)
건: (싫지 않은 듯) 엄마... 하지마~~...
예은엄마: (계속 인상 쓰며) 뭘 하지마... 뭘... (계속 물을 뿌린다)
건: (도망 다니며) 하지마 엄마... 물 뿌리지마... (이내 욕실로 재빨리 들어간다)

5. #일본(태윤, 은영이가 동거하는 집) / 태윤
(T.U) 집 주위의 자연의 모습을 배경으로 태윤, 은영이가 살고 있는 집을 표현.
태윤. 아침 일찍 일어나며 은영에게 아침을 해줄 생각.

태윤: (옆에 자고 있는 은영을 잠시 사랑스런 눈빛으로 바라보며) (은영의 볼에 살며시 키스한다)
은영: ...
태윤(E): (일어나서 커튼을 걷고 창문을 열며 기지개를 한다. 숨을 들어 마신 뒤) 아... 상쾌하다... 늘 오늘 아침 같았으면... (수줍어함)
태윤: 빨리 아침 준비 해야겠다...

(BGM)
솜씨는 없지만 아침을 계란말이와 토스트, 오렌지 쥬스로 준비를 한다.
마가린을 프라이팬에 녹여 그 위에 빵을 굽는 태윤.

태윤(E): (행복함) 냄새가 너무 좋다... (웃음)
태윤: (잠시 걱정) 맛있는 냄새 때문에 은영이가 깨어나면 어떡하지?
은영: (태윤 뒤에서 끌어안음) (행복함)
태윤: (놀라며) (웃음) (애교 있듯이) 벌써 일어났어?
은영: (뭔가 새로운 느낌을 받은 듯이) (얼굴을 옆으로 내밀어 굽고 있는 빵을 보며) 음~. 냄새 좋다... 이 좋은 냄새로 내 코를 유혹한 게 너란 말이지?... (웃음)
태윤: (웃으며) 미안해... 너 모르게 하려고 했는데 들켜 버렸네...
은영: ...
태윤: 어서 씻고 와... 거의 다 됐어.
은영: (아이같이) 알았어... (욕실로 향하다 뒤를 돌아보며, 주의를 주는 듯한) 태윤!
태윤: (뒤 돌아 보며, 옅웃음) 응?
은영: 욕실에서 나오기 전에 먼저 먹으면 안돼! (장난기 있게) 알았지?...
태윤: (윙크를 살며시 하며) 알았어...
은영: (행복해 하며 욕실로 향한다.)

(은영. 욕실에서 세면대에 물을 가득 받아 놓고 얼굴을 잠시 담근 후 세면대 위의 거울을 본다.)

은영: (거울을 잠시 보다가) 이 은영! 넌 정말 행복한 여자야... (옅웃음)
태윤: (소리를 조금 크게) 은영아 아직 멀었어? 계란 식으면 맛없단 말이야...
은영: (웃음, 소리를 조금 크게) 알았어... 금방 나갈께... (얼굴을 닦는다)

(태윤과 은영의 아침식사.
맛있는 과일 그림이 그려져 있는 접시에 정성스럽게 놓인 갓 구워낸 빵, 계란말이. 보기만 해도 시원해 보이는 오렌지 쥬스.
식탁의 빵 위에 살짝 비치는 아침 햇살에 식탁에 정성이 가득해 보인다.
태윤은 은영의 얼굴을, 은영은 식탁을 잠시 동안 감상한다.)

태윤: (만족해하며) 식겠다. 어서 먹어... (옅웃음)
은영: (행복한 표정) 태윤아... 고마워...
태윤: 그러면 맛있게 먹어주라... (옅웃음)
은영: (빵을 한 조각 먹으며) (맛있어 하듯) 음,,, 정말 맛있다..,!
태윤: 천천히 쥬스도 마시면서 먹어...

6. #시내 어느 연극음악 학원 / 수진
수진(E): (전화를 받으며, 말을 더듬으면서) 뭐..? 뭐..라고?
수진: (울먹이며) 뭐라고?... 다시 한번 말해봐!
수진: (울며) 예은이가 뭐 어쨌다고?
수진: 어떡해... (울먹임) 수술은?
수진: ... 우리 불쌍한 예은이... (울음)
강사: (손벽을 치며) 자.자... 수진씨 수고 했어요...

(수강생 모두들 감탄들 하는 표정으로 박수를 보낸다.)

수진: (옆의 사람을 보며) 저 잘했어요? (울음 반, 웃음 반)

강사: 오늘은 감정연기에서 어떤 상황에 부딪친 자신의 내면적인 감정, 즉 사건에 대해 자신이 직접 겪은 것이던 다른 사람이 격은 내용에 대해 자신의 감정을 들어내는 것 중 자신의 가족이 겪게 되는 일을 하나 상상해서 표현해 보았습니다. 어떻습니까? 갑자기 슬픔에 잠겨 눈물을 흘려야 하는 연기를 할 때 그냥 하려면 안 되죠? 잘 안되겠죠?
수강생들: (동의 한 듯 이 고개를 끄덕끄덕 혹은) 네...
강사: 방법 중의 하나가 자신과 가장 친한 관계에 있는 사람이 어떤 고통을 당했을 때를 상상했을 때 좀더 솔직한 내면연기가 가능 하다는 것을 수진씨를 통해서 확인해 보았습니다. (웃음) 자... 그럼.. 오늘은 이것으로 마치죠. 수고들 하셨습니다.

수강생들: (다 같이) 수고하셨습니다.
수진: (아직 여운이 남은 듯 조금 훌쩍거린다.) ...

7. #편의점 / 예은
(BGM) 라디오에서 나오는 음악(신나는)에 맞춰 바닥을 밀걸레로 청소를 하는 예은.
(음악: Ootsuka Ai의 Girly) 음악 시작 1분부터 노래를 따라 부른다.

예은: (밀걸레를 마이크로 삼아, 계속 점프(1/2 박자로)를 하면서 노래를 따라한다. 즐거운 표정으로) (일본어로)
(“
明日のコトは明日に聞いて
-> (아시타노코토와아시타니키이테)
[해석] 내일 일은 내일에게 물어 보아요

今日のコトはあたしにまかせて
-> (쿄-노코토와아타시니마카세테)
[해석] 오늘의 일은 나에게 맡겨줘요

あたしの花道をひたすら行く
-> (아타시노하나미치오히타스라유쿠)
[해석] 나의 꽃길을 오로지 그 길을 가요
“)

(이 때 편의점에 손님이 들어온다.)
손님(여고생들): (춤추는 모습을 지켜보며 웃음) ...

(PAN)
예은(C.U): (손님이 온줄 모르며) (밀걸레와 같이 몸을 왼쪽 오른쪽 갸우뚱 하면서 노래를 따라한다. 즐거운 표정으로) (일본어로)
(“
スキップ~♪ スキップ~♪ スキップ♪ Lalalalala~♪
-> (스킷푸~♪ 스킷푸~♪ 스킷푸♪ Lalalalala~♪)
[해석] Skip~♪ Skip~♪ Skip♪ Lalalalala~♪

スキップ~♪ スキップ~♪ Lalalalala~♪ It's one girly day♪
-> (스킷푸~♪ 스킷푸~♪ Lalalalala~♪ It's one girly day♪)
[해석] Skip~♪ Skip~♪ Lalalalala~♪ It's one girly day♪
“)

예은: (노래 부르다 고개를 옆으로 돌리자 여고생들을 보고) (당황스럽지만 쑥스러운 듯 옅웃음) 어... 미안해요... (웃음을 참지 못하고)
손님(여고생들): (하는 짓이 귀엽다는 듯이 한 학생이) 언니,, 노래 부르면서 춤추니까 너무 귀여워요.. (웃음, 다른 학생들도 모두) 네... 정말 귀여웠었어요... 가수해도 되겠어요... (모두 웃음)

(편의점 직원 들어온다.)

편의점 직원: 예은씨, 청소 다 했어요? (웃음)
예은: (애교) 아.. 네.. 조금... (여고생들과 같이 웃음)
편의점 직원: (괜시리 즐거운) 무슨 즐거운 일 있어?
예은: (웃음) ...

( 추가? ... )
(“
예은: (아직 음악이 계속 흘러나오는 중, 아직 분위기가 살아있는) ... (청소를 마무리 한다.) ... (웃음)
손님(여고생들): 언니 계산...
예은: 네...
“)

8. #잠깐의 소나기
(BGM) 라디오 음악 계속 이어짐
해가 떠 있지만 잠시 동안 소나기가 내린다. 사람들 이리저리 뛰어 다니고,,, 이러한 모습을 카운터에 서서 가만히 지켜보는 예은...

예은: 오랜만에 보는 비다...
예은: (잠시 머뭇거리며) 서.. 설마... 장마가 벌써 시작된 건 아니겠지?
예은: (그래도 좋은 듯 비를 보며 감상한다.)

9. #편의점 앞 길거리
(BGM) 라디오 음악 계속 이어짐
혼잡한 서울이지만 생기 있는 거리... 비가 조금은 굵어진다.
하지만 구름 옆으로 살짝 비치는 햇살에 몸이 젖었다는 걸 잊은 채 인도에서 비를 피하려 가계 앞에서(서) 웃고 있는 아이들...

10. #태윤의 집 / 태윤엄마
시간이 오전 12시 10분쯤. 태윤엄마는 예은엄마에게 전화를 걸으며 oo마트에서 온 광고문(찌라시)을 보고 있고 태윤 아버지가 세미나에 늦었는지 매우 분주해 보이는 모습이다.

태윤엄마: (신호음)
태윤 아버지: 여보, 셔츠 이거 입으면 되겠어?
태윤엄마: 안 어울린다... 다른거 입어... (다시 광고문(찌라시)을 본다.)
태윤엄마: (신호음)
태윤 아버지: 그럼 이거 입으며 되지? (옅웃음)
태윤엄마: (옅웃음) 응 그거 입어... 잘 어울린다.

11. #예은의 집 / 예은엄마
전화벨이 두 번 울린다. 예은엄마는 아들 건이 방을 청소하고 있다.

예은엄마: 아유...,, 쓰레기장을 청소해도 이렇게 힘들진 않겠네... 이게 잠을 자는 곳인지 쓰레기를 버리는 곳인지 분간이 안가네... (오기가 난 표정으로) 암튼 이놈 들어오기만 해봐라...

(이 때 전화벨 소리를 듣고 전화를 받으러 간다.)
예은엄마: 여보세요?

12. #태윤의 집 / 태윤엄마
태윤엄마: 기집애... 집에 있으면서 전화를 왜 인제 받어?

13. #예은의 집 / 예은엄마
전화기가 놓인 탁자를 걸레로 살며시 닦는다.

예은엄마: 어... (조금 힘든 듯이) 방 청소 좀 하느라고... 왜?
태윤엄마(E): 오늘 oo마트에서 오늘부터 sale 한 댄다... 같이 가자. 응?
예은엄마: (귀찮은 듯이) 아직 설겆이도 안했어... 너 혼자 갔다와.

14. #태윤의 집 / 태윤엄마
태윤엄마: 아이... 그러지 말고 같이 가자... 너 접때 오빠(남편) 여름 옷 한 벌 사야 한다고 했잖아...

15. #예은의 집 / 예은엄마
예은엄마: 그러긴 한데... 아유... 집안이 너무 더러워서...
태윤엄마(E): 애들은?

16. #태운의 집 / 태윤엄마
태윤 아버지: 넥타이 이게 나을까?
예은엄마(E): 어.. 다 나갔어...
태윤엄마: (남편을 바라보며) 응.. 그게 좋겠다... 안 늦었어? 서둘러야지... (다시 전화기에 신경을 쓰며)

15. #예은의 집 / 예은엄마
예은엄마: 남편 아직 안나갔어?
태윤엄마(E): 응~,,, 오전에 학교 갔다가 세미나가 있다며 옷 갈아 입으려고 왔어.
예은엄마: 너 혼자 다녀와... (한쪽 손으로 옷을 털며)

16. #태윤의 집 / 태윤엄마
태윤엄마: 아이... 같이 가쟤니깐 얘가... (옅웃음) 내가 너 좋아하는 초밥 사줄께... 그래... 니 딸.. 누구지?... 둘째...
예은엄마(E): 예은이...
태윤엄마: 그래.. 예은이... 편의점에서 아르바이트 한다고 했지?

17. #예은의 집 / 예은엄마
예은엄마: 응.. 왜?
태윤엄마(E): 언제 끝나?
예은엄마: 3시쯤에 끝나...

18. #태윤의 집 / 태윤엄마
태윤엄마: 그래? 니가 그렇게 자랑하는 니 딸도 oo마트로 오라고 그래... 나 걔 어렸을 때 한번 보고 여태 한번도 못 봤잖아... 한번 보자...

19. #예은의 집 / 예은엄마
예은엄마: (걸레를 바닥에 던지며) 이그... 그래... 가자 가... 맨날 집에서 이러고 있으니 나도 답답하다... 가자 가...
태윤엄마(E): 그래... 그럼 3시쯤에 마트 1층에서 보자...
예은엄마: 어...

(잠시 머뭇거리다가 예은이에게 전화를 건다.)
예은엄마: (신호음)

20. #편의점 / 예은
(물건 정리를 하던 중 핸드폰 벨소리가 울린다. 몇몇 손님들은 물건을 고르고 있다.)

예은: 응. 엄마.
예은: 어, 알아... (웃음) 그래? ... 알았어... 응...

(계산을 하며)
예은: 2,500원 입니다.

21. #?구청 청사
청사 내⋅외 주차장은 만원이다. 차량 한 두 대씩 청사 안으로 들어온다. 시간에 늦었는지 급하게 뛰어가는 민원도 보이고 경비원에게 안내를 받는 모습도 보인다. 학생들의 모습도 모인다.

22. #사무실 / 예은아버지
9급 공무원인 예은아버지... 그는 지금 ?구청의 민원창구에서 토지대장발급업무를 보고 있다. 사람들은 북적거리고 예은아버지와 상담을 하고 있는 할아버지, 엄마와 같이 온 어린 아이들...공인중개사 사람들, 법무사 직원들, 건축 관련 직원들... 오늘은 유난히 민원이 많다.

예은아버지: (3장 분량의 700원의 증지를 찍으며) 어르신, 700원 입니다.
민원인(할아버지): (웃으시며) 응... 줘야지... (천원 1장을 주시며) 나 설명 좀 해줘... 내가 잘 몰라서...
예은아버지: 네, 알려드릴게요. 말씀해 보세요...

(토지대장 전표가 민원대 위에 여러 장 쌓여 있다.)

민원인(할아버지): 저번 주에 내가 이 땅을 사면서 등기이전을 했는데,, (기침) 내 이름으로 되어있는지 좀 봐줘...
예은아버지: 어르신 성함이 (출력된 토지대장을 보며 이름을 찾는다.) 임 성(자)현(자),,, 네 어르신 앞으로 되어있어요...
민원인(할아버지): 응... (웃음) 어 .. 그리고 이 땅이 50평 맞아?
예은아버지: 잠시만요... (컴퓨터 계산기 프로그램으로 계산을 한다. 0.3025 * 165㎡)
예은아버지: 네... 50평 맞습니다.

(시간이 좀 지연이 되었다. 민원인중 고집이 있어 보이는 한사람이 앞으로 와서 투덜거린다.)

민원인1: 제꺼 안나옵니까? (짜증스런)
예은아버지: (옅웃음) 잠시만 기다리세요... 금방 해 드리겠습니다.
민원인1: (계속 투덜거리며 잠시 뒤로 물러서 있는다.)

(쌓여있는 10여장의 전표들이 보인다. 급하게 출력을 한다.)
예은아버지: 신명숙 손님!
민원인2: 네... (창구 앞으로 온다.)
민원인1: 어...(화가 난 듯) 이 아줌마 보다 내가 먼저 왔는데 왜 이 아줌마 먼저 해 줍니까? 바빠 죽겠는데... (짜증을 내며)
예은아버지: 지금 계속 출력되고 있습니다.

(발급을 다 해주고 나서 막 숨을 돌리고 있는 이때 한 20대 초반으로 보이는 남자가 온다. 잠시 후 손에는 토지대장/공시지가의 전표를 들고 각 창구에 신청한다.)

민원인3: 토지대장 한통 발급해 주세요... (무뚝뚝한 표정)

(토지대장이 제일 먼저 나온다.)

예은아버지: 500원 이예요...
민원인3: (주머니를 뒤져 보며 돈이 없자 카드를 내민다.) 카드 되나요?
예은아버지: (당황하면서도 웃으며) 카드는 안돼요...
민원인3: (이상해 하며) 왜 안 되죠?

(20대 초반으로 보이는 공시지가 공공근로 여직원이 증지를 찍고 나서 어이가 없다는 표정으로 토지대장 앞에서 기다린다.)

예은아버지: 민원실은 카드로 계산할 정도로 큰 돈이 오가지 않아서 카드로 계산 하지 않을 뿐 더러 결제(화폐, 결재->보고서)기계도 없어요... (웃으며) 젊은 사람이 왜 그러나... (옆을 가리키며) 저쪽 건물로 가면 은행이 있으니 현금 인출해서 와요...
민원인4: (기분이 나쁜 듯) 은행으로 간다.
공공근로여직원: (어이없다며) 나 살다 처음 보네... 안그러세요 한 주사님?
예은아버지: (웃음) ...
공익근무요원: 누나, (어이없는 웃음) 나도 어이가 없어서... 나 공익하면서 저런 놈은 또 처음이네...

(감사실 직원 한 사람이 예은어버지에게 다가온다.)

감사실직원: (웃으며) 한 주사님...
예은아버지: (웃으며) 어이구... 최 주사가 여기까지는 무슨 일로...
감사실직원: 암...(머슥해 하며), 좀 전에 민원인하고 다투셨어요?
예은아버지: (금시초문인 듯) 아니... 없는데,,, 왜?
감사실직원: 그 민원인이 토지대장 발급을 순서대로 안 해주고 자기가 옷을 좀 허름하게 입고 와서 그런지 무시하는 것 같다며 전화를 해서요...
예은아버지: (조금 씁쓸해 하며... 다시 점잖게 웃으며) 알았네...
감사실직원: 부탁 드리겠습니다.

(은행으로 현금을 인출하러 간 20대 초반의 민원인이 토지대장 앞으로 온다.)

민원인4: (예은아버지 얼굴 한번 쳐다보며 만원 1장을 내민다.) ...
예은아버지: (씁쓸해 하며 계산을 해 준다.) ...

23. #일본(Figure 아카데미) / 은영
오후 3시가 다 되어가는 시간. 일본인 남자 강사가 일본어와 엉성한 영어로 한 학생을 지도하는 모습이 보인다. 15명 정도의 학생들이 책상에 앉아 Figure를 만드는데 정신이 없다. 잘 안된다며 투덜거리는 몇몇 학생들. 은영은 잘 되는지 내심 옅웃음을 띄는 모습이 보인다.

은영: (옅웃음) ... (조심스레 정성을 다해 작업에 임한다.)

(일본인 강사가 돌아다니면서 학생을 지도한다.)

일본인강사: (일본어로) (한 학생을 지도하면서) 음... 이 부분에서 모양새가 잘 살아 나지 않죠? (잠시 보고나서) 이렇게 한번 해봐요...

(일본인 강사가 은영 앞에 서서 작품을 잠시 지켜본다.)

은영: (일본어로) (조금 창피한 듯) ...
일본인강사: (일본어로) 캐릭터가 상당히 귀엽네요... 남자친구 선물해 줄 건가요? (옅웃음)
은영: (일본어로) 네...

(일본인 강사가 잠시 시계를 본 후 앞으로(화이트보드 쪽) 간다.)

일본인강사: (일본어로) 시간이 3시가 다 되었네요... 시간 가는 줄 몰랐습니다. 좀 쉬었다 하겠습니다.
수강생들: ...


(여기에서부터,
화면을 반씩 나누어 ‘은영’과 ‘태윤’과의 전화통화를 보여줌.)

[화면나누기 시작]
(은영의 핸드폰에 벨소리가 울린다. 핸드폰에 ‘우리남편’ 이라는 발신인이 보인다.)

은영: (옅웃음) 응 태윤아...

24. #일본(밖) / 태윤
목에 헤드폰을 걸어둔 채 길을 걸으며 은영에게 전화를 걸고 있다. 음악 소리가 조금 들린다.

태윤: 아직 수업중이지?
은영(E): (힘이 없는 듯이) 아니... 지금 쉬는 시간.
태윤: 근데, 목소리가 왜 힘이 없어?

25. #일본(Figure 아카데미) / 은영
은영: (기지개를 펴며) 응... 좀 힘들었어...

26. #일본(밖) / 태윤
태윤: (옅웃음) 그럼, 오늘 우리 봄이 맛있는 것 사줘야겠다...
은영(E): (웃으며) 정말?
태윤: 그럼!... 뭐 먹고 싶어? 말만해...

27. #일본(Figure 아카데미) / 은영
은영: 음... 푸짐한 라면 한 그릇.
태윤(E): 에게.... 그게 다야?

28. #일본(은영이 다니는 Figure 아카데미 근처) / 태윤
태윤: (웃으며) 그럼 빨리 정리하고 밖으로 나와.

29. #일본(Figure 아카데미) / 은영
은영: (놀라며) 지금?
태윤(E): 응.
은영: 나 아직 수업 안 끝났어...

30. #일본(Figure 아카데미 밖) / 태윤
한쪽 발로 땅을 비비는 태윤.

태윤: 나... 너 무지 보고 싶은데...
은영(E): 그래두 땡땡이는 칠 수 없잖아...
태윤: (서운하다는 듯이) 치... 난 너 볼려고 여기까지 왔는데...

31. #일본(Figure 아카데미) / 은영
은영: 어디야?
태윤(E): ... 너 학원 앞.
은영: (하는 수 없다는 듯이) 기다려... 금방 내려갈께... (웃음)

32. #일본(Figure 아카데미) / 은영
일본인 강사가 들어오기 전에 가방을 챙기며 옆 학생에게 다급히 말을 한다.

은영: (어설픈 일본어로) (갑자기 배가 아파하며) 나 갑자기 배가 아파서 병원에 갈께... 말 좀 잘 해줘...
수강생: (일본어로) (전부 알고 있다는 듯이) 남자 친구 만나러 가지?
은영: (어설픈 일본어로) (놀라며 귀여운 옅웃음) 아.. 뭐...
수강생: (일본어로) (웃으며) 어서 가봐... 기다리겠다...
은영: (어설픈 일본어로) (애교있게) 미안... 말 좀 잘 해줘... ... 갈께...

(은영 들키지 않게 학원을 빠져 나간다.)

33. #일본(Figure 아카데미 밖) / 태윤
벽에 기대어 서서 음악을 들으며 횡단보도 쪽을 바라보고 있는 태윤.

[/화면나누기 시작]

34. #일본(Figure 아카데미 밖) / 태윤, 은영
은영의 모습을 발견한 태윤. 은영의 모습을 바라보며 옅웃음을 짓고 있다. 은영 횡단보도 쪽으로 걷다가 갑자기 앉아 신발끈을 매려할 때 음료수를 마시며 걸어오는 뒷사람과 부딪힌다.

행인: (일본어로) (음료수를 먹다 음료수가 얼굴에 젖는다. 기분 나쁘다는 듯이) 아... 뭐야...
은영: (일본어로) (놀라며) 아... 죄송합니다.
행인: (일본어로) 똑바로 다녀! (입을 닦으며 간다.)
은영: (일본어로) 죄송합니다.

(이를 본 태윤. 걱정이 앞서 횡단보도에 녹색등이 켜지길 바라본다.)
(은영, 신발끈을 마저 매고 나서 횡단보도 쪽에 서서 태윤에게 괜찮다는 sign을 보낸다.)
(태윤, 은영이 괜찮은 듯 보여 옅웃음을 짓는다.)

35. #oo마트안 1층 / 태윤엄마, 예은엄마
세일을 한다고 해서 그런지 오늘따라 마트에 사람들이 꽤 많아 보인다. 아이를 카트에 담아 이동하는 엄마들, 다정해 보이는 노부부, 여럿이 모여서 쇼핑을 하는 대학생처럼 보이는 여학생들, 신혼부부인 듯한 커플. 식품코너여서 인지 여기저기에서 큰소리로 오늘의 먹거리를 소개한다.

태윤엄마: (웃으며) 나오길 잘했지?
예은엄마: 응... (아이를 카트에 담아 돌아다니는 엄마들을 보고) 언제 뉴스 보니깐 이 카트에 세균이 많다던데 어떻게 애를 저기에다가 넣고 다니냐...
태윤엄마: 그러게 말이야... 어,,, 참. 니 딸은 안와?
예은엄마: (핸드폰 시계 한번 보고) 3시 좀 넘었으니까 곧 올꺼야...
태윤엄마: (과일을 파는 것을 보며) 얘... 우리 과일 좀 보러 가자... 맛있겠다~...

36. #거리 / 예은
편의점에서 oo마트까지가 그리 멀지는 않은 거리지만 시간에 조금 늦었는지 뛰어가는 예은. 횡단보도만 건너면 oo마트. 마트 앞은 항시 혼잡하다. 차들이 어찌나 많아 보이는지.
oo마트 1층 유리문을 열고 들어가는 예은.

37. #oo마트안 1층 / 태윤엄마, 예은엄마, 예은
과일을 사려고 하는지 냄새도 맡아 보면서 고르는 태윤엄마, 예은엄마.

태윤엄마: (과일을 보이며) 이거 맛있겠지?
예은엄마: 우리 애들이 과일을 대개 좋아 하는데... 나도 좀 사야겠다.

(과일을 고르고 있는 엄마를 찾은 예은, 찾았다는 듯이)

예은: 엄마,,! (옅웃음)
예은엄마: 왔어?...
태윤엄마: (맘에 들어 하는 듯이) 얘가 예은이야?
예은: (조금 낯설어 하는, “누구지?” 하는) ...
예은엄마: 어... 우리 둘째. (태윤엄마를 가리키며) 예은아 엄마 고등학교 친구.
예은: 아... (웃으며) 안녕하세요.
태윤엄마: 그래. 안녕... 예쁘게 컸네...
예은: (수줍음) 감사합니다.
태윤엄마: 좋겠다 넌... 예쁜 딸이 예은이 말고 하나 더 있어서...
예은엄마: 예쁘기는,,, 막내는 그나마 눈치라도 있는데 첫째는 웬수지... 웬수. 오늘 아침에도 한바탕 했어 그냥...
태윤엄마: (웃음) ...
예은엄마: 이건 거꾸로야... 지 동생 반만 닮았으면 내가 말을 안해...
예은: (약간 피식 웃지만 이내 엄마에게 팔짱을 끼며 눈치를 준다.) 엄마~...
예은엄마: (자신도 아는지 웃으며) 알았어.. 알았어...

(BGM)
(쇼핑을 하는 세 사람 태윤엄마, 예은엄마, 예은...)

38. #oo마트안 음식코너(식당이 혼합되어있는) / 태윤엄마, 예은엄마, 예은
먹을것과 옷가지를 샀는지 양손에 쇼핑백과 봉지가 한 아름이다. 쇼핑을 끝내고 초밥을 먹으러 왔다.

태윤엄마: (판매원에게) 3인분 주시구요,... (예은엄마를 보며) 회 먹을래?
예은엄마: 초여름이긴 한데 초밥도 좀 걸린다 얘...
태윤엄마: (웃으며) 그렇게 걱정이 되어서 맛있는 걸 어떻게 먹어?
태윤엄마: (예은을 보며) 예은이 회 먹을래?
예은: 아뇨... 괜찮아요...
태윤엄마: 그래, 그럼. 회 말고 초밥만 먹자.

(옆쪽에 비어있는 한 테이블에 앉는다.)

태윤엄마: 니 딸 정말 많이 컸다...
예은엄마: 얘는 그 때가 언젠데...
태윤엄마: 하긴, 우리 아들도 (뭔가 생각이 반짝이는 듯이) ... 그러고 보니 우리 아들이랑 동갑이겠네...
태윤엄마: (들떠서) 예은이는 보이 프렌드 있어?
예은: (수줍듯이) 아니요. 없어요.
태윤엄마: 요즘엔 초등학생들도 애인 있는데 예은이는 모했어?
예은: (옅웃음) 그러게 말이에요...
예은엄마: 니 아들은 애인 있어?
태윤엄마: 왜 없겠어... 있겠지... 우리아들이 얼마나 잘 생겼는데... (웃음)
예은엄마: (꼴불견인듯)
태윤엄마: 그건 그렇고, 예은아, 아줌마가 우리아들 소개시켜줄까?
예은: (수줍어함)
예은엄마: 니 아들 애인은 어떡하고?
태윤엄마: (웃으며) 애인 말고 친구하면 되잖아... 어때 예은아? 소개시켜줄까?
예은: (옅웃음) 생각해 볼께요...
태윤엄마: 그래 그럼. 생각나면 언제든지 얘기해... 알았지?
예은: 네
태윤엄마: 먹자.. (예은이에게 초밥을 하나 건네며) 자 이거 맛있는거야...
예은: (옅웃음) 네 아줌마. 고맙습니다.

39. #일본(라면 전문점) / 태윤, 은영
태윤: 이 집 라면, 제법 유명한 곳이야...
은영: 음... 이런 곳을 혼자만 와 봤단 말이야?
태윤: 나야 라면을 좋아하지만, 넌 별로 좋아하지 않잖아...

(주문한 라면이 나온다.)

은영: 냄새가 정말 좋다. 맛있겠다.
태윤: 국물 맛은 더 끝내줄꺼야...

(일본식인 음식을 먹을 때 하는 의식)

태윤/은영: (일본어로) 잘 먹겠습니다!

(서로 보면서 옅웃음)

40. #일본(라면 전문점 밖 벤치) / 태윤, 은영
까맣지만 유난히 맑은 저녁하늘. 초여름이지만 아직 봄기운이 남아 있는 조금은 쌀쌀한 밤이다. 태윤과 은영. 모두 벤치에 등을 기대어 밤하늘을 본다.

(NAR) 은영에 대한 태운의 마음
“별은 잘 보이지 않지만 달 만큼은 유난히 밝다. 내 옆에 있는 봄이를 볼 때 항상 밝았었던 듯이. 그런 달이 처음엔 가는 초승달이 되었다가 점점 동그랗게 제 모습을 찾아 마음을 밝게, 따뜻하게 해주다가 오랜 후 잠깐의 사라짐... 하지만 달은 다시 처음으로 내게 돌아온다. 은영과 함께한 지금까지의 시간들. 난 달에게 고마워하고 싶다. 은영과 함께 했듯 달 역시 은영이 없을 땐 내 마음을 항상 포근하게, 포근하게 느끼게 해준 그런 존재다. 그런 달 옆에서 별이 되어 시작과 끝을 영원히 함께 하고 싶다.”

태윤: (감상에 젖어, 가는 눈물을 천천히 흘려 내린다.)
은영: (잠시 밤하늘을 보며 생각에 빠진 태윤을 보며 조금은 신중한 듯이) 그런 가는 눈물... (얼굴을 아래로 내리며 자신이 없는 듯) 아파.
태윤: 아파?
은영: 응. 아파. ... 마음이 아파.

(은영 잠시 조그만 한숨을 내쉬며)

은영: 우리아빠. 아빠가 하늘로 가시기 전에 나에게 처음으로 (태윤의 눈물을 엄지손가락으로 살며시 닦으며) 이런 가는 눈물을 보이셨어.
은영: 그동안 엄마사진을 보더라도, 내가 엄마 얘기를 하더라도 눈물을 흘리지 않으셨던 분이신데... (잠시 눈시울이 붉어진다.)

(BGM) (잔잔한 NewAge 음악)

은영: 그 날 만큼은 눈물을 흘리셨어. 지금에 와서 생각이지만, 그동안 나 몰래 혼자서 얼마나 많은 눈물을 흘리셨을까... (은영의 두 눈엔 아버지가 흘리셨던 그 가는 눈물이 흘러내린다.)

(태윤, 은영에게 그녀의 과거를 회상하게 한 자신이 흘린 가는 눈물에 미안해하면서도 사랑스러운 눈빛으로 바라본다.)

은영: (이내 꿈이 깬 듯한) 미안해... 갑자기 아빠 생각이 나서... (옅웃음)
태윤: 괜찮아... 내가 오히려 미안한걸...
태윤: (은영의 손을 잡아주며) 내가 너에게 얼마만큼의 도움이 될 수 있을지는 모르지만, 때론 너에 아빠, 그리고 엄마가 되어 줄께.
은영: (계속 흐르는 눈물, 태윤을 바라본다.)
태윤: (은영의 눈물을 살며시 닦아 내며) 사랑해.

(BGM)

태윤: 너희 부모님이 사랑했던 것만큼... (태윤, 은영을 어깨로 감싸 안아준다.)

(PAN)
달빛이 비추는 태윤/은영의 뒤로 유성 하나가 떨어진다.

// (은영의 어렸을 적 부모와 함께 했던 잠시 동안의 기억의 회상) (?)
// (회상 후 자신의 침대에 누워 말없이 눈물을 흘리는 은영의 모습)

41. #건의 학교(강의실 옆 자판기 앞) / 건, 친구들 1, 2, 3, 예쁜 걸
건과 그의 친들 3명과 함께 커피를 마시며 얘기하는 모습이 보인다.

건의 친구1: (근처 창가에 비추는 햇볕을 맞으며 서있는 한 여학생을 보며) 오... 사랑스러운데?

(건과 그의 친구들 모두 그 여학생을 보며 마음이 흔들리는 듯 시선을 떼지 못한다.)

건의 친구2: (나에게 주어진 행운인 듯) 저 베이비는 이제부터 내가 찜하겠다. (건의 친구2를 보며) 야.야... 침 흘리지마...
건의 친구3: (어이가 없는 듯이) 야.야. 저 베이비가 너를 좋아하겠냐? 거울로 니 얼굴이나 보고 좀 그런 말 해라... 꼭 이런,,
건의 친구2: (말을 자르며 비웃듯이) 야야... 넌 지금 니 얼굴이 어떤지 알고나 그런 말 하냐?
건의 친구3: 내 얼굴이 어디가 어때서?
건의 친구2: (어이가 없는 듯) 참...
건: (건의 친구3을 보며) 야, 넌 좀 불쌍해 보여...
건의 친구1: (배꼽이 빠졌는지) 하하하... 정말 그러네... 하하하..
건의 친구2: (맞장구를 치며) 오늘 세수는 했냐?
건: 양치질은?
건의 친구3: (얼굴 표정이 기분이 아주 나쁘다는 듯이)
건의 친구2: 안했구나?... 어쩐지 너 오늘 입 냄새 장난 아니였어... (웃음)
건의 친구1: (건의 친구2 에게) 베이비, 나와 달콤한 키스를 ...
건의 친구2: (어이가 없다가 갑자기 겉옷을 살짝 벗으며 싸우려는 듯이) 이 자식이 죽고싶나? (손가락으로 건의 친구1을 가리키며) 적당히 하라고... 적당히... (웃찾사, 단선생 멘트)
건: (신난다는 듯이) 하하하...
건의 친구3: 단순하기는... 그래서 넌 안돼 임마. 잘 봐... (친구들에게 다가가며) 헤이 걸, (요염한 눈빛으로) 키스하기 좋은 날씬데, (옅웃음과 함께 윙크 한번) 어때? (입술을 내민다.)
건, 친구1, 2: (당황 한 듯) 야... 가자... 가자가...
건의 친구3: 헤이 걸~
건의 친구2: (코를 가리며) 야... 말 하지마...
건의 친구3: (자신을 무시한 듯 인상 한번 쓰며) 헤이 걸!
건의 친구1: (코를 가리며) 야... 야, 저리가... 입 냄새 난단 말이야...
건의 친구3: 야~!
건의 친구2: (웃음 반 싫은 듯) 말 하지마, 제발... 저리가라 그냥...

(건과 친구 1, 2 모두 도망을 가고 친구 3이 계속 따라가며 소리를 지른다.)

건의 친구3: 야... 니들 나 따 하는거야? 어?... (기분 나빠하며) 우씨... 니들 오늘 다 죽었어... ! 거기서!!!
건: (도망을 가면서도 창가에서 햇볕을 쐬고 있는 여 학생을 보며 옅웃음을 보인다.) 나에게도 기회가 온 거야... (웃음) (점점 가까이 다가오는 친구3을 보고 놀라며 도망간다.)

42. #동대문 시장(Accessary, Character Shop 앞) / 수진,
오늘도 시장엔 많은 사람들로 붐빈다. 여러 옷가게들이 보이고 떡볶이를 맛있게 먹는 여학생들, 좀더 싸게 사려고 가격을 흥정하는 아줌마, 어설픈 한국어로 물건에 대해서 물어보는 외국인 관광객. 그 중 악세사리와 캐릭터가 있는 shop 앞에 생긋 웃는 수진이의 모습이 보인다.

수진: (여러 캐릭터중 하나를 고르며) 이거 우리 예은이가 좋아 하는 타입인데... (옅웃음) 하나 사다 줄까?
수진: (잠시 둘러보며 뭔가를 찾았다는 듯) 어?... 이거 아빠가 나한테 선물 해주신 인형이네... (옅웃음) 우리아빠 센스는 정말 알아줘야해... (웃음) (인형을 제자리에 놓으며 자리를 이동한다.)

(주위를 한번 둘러보는 중에 방금 봤던, 예전에 아빠가 사주신 그 인형이 지나가던 아이의 옷깃에 밀려 바닥으로 떨어진다.)

(E)

수진: (인형이 떨어졌을 때 수진, 뭔가를 느낀 듯 인형이 떨어진 곳을 순간 본다.) (아이는 모르는 듯, 아이가 지나가는 걸 보며 그 인형을 주워 제자리에 올려놓는다.)

43. #동대문 시장(시장 길) / 수진
길 주변에 사주, 역학 등, 점을 보는 사람들이 눈에 띈다. 수진, 지나가는데 어떤 점술가 할아버지가 부른다.

점술가 할아버지: 이봐 학생...
수진: (옅웃음) 아니에요... 됐어요...
점술가 할아버지: 잠깐만, 잠깐만,,, 사주보라는 뜻이 아니야...
수진: (의아해 하며) 네?
점술가 할아버지: 그냥 모른 척 할 수도 있는데 (기침),, 학생 사주가 너무 딱해서 알려주려고 하는 것 뿐 이니까, 이리와봐...
수진: (아직도 이해가 가지 않는 듯) 제 사주가 나쁜가요? (웃음) 저 사주 안 믿어요, 할아버지.
점술가 할아버지: (얼굴 표정이 많이 굳어진) 지금부터 내가 하는 얘기 잘 들어.
수진: (할아버지의 진지한 표정에 사뭇 진지한) 네...
점술가 할아버지: 아버지는 잘 계시지?
수진: (의아해 하며) 그럼요. 잘 계시죠... (궁금한 듯) 아빠가 왜요?
점술가 할아버지: 이 늙은이가 치매왔다고 욕해도 좋아. 하지만 보는 대로 얘기해 주는 거니까 잘 들어.
수진: ( ... )
점술가 할아버지: 아버지가 곧 운명할 운이야...
수진: (당황하며) 네?...
점술가 할아버지: 이승에서 힘들게 살았어도 성실한 사람이었건만 죽을 때라도 편해야지... 쯧쯧쯧... 이렇게 비참할 수가...
수진: (당황하며) 무슨 말씀이세요? 저희 아빠가 죽는단 말씀이세요?
점술가 할아버지: 그저 내가 할 수 있는 일은 학생에게 사실대로 알려주고 고인이 될 사람에 명복을 비는 거지 뭐...
수진: (웃으며) 에이... 할아버지... 오늘 돈 많이 못 버셨죠? 그래서 저한테 그러는 거죠?
점술가 할아버지: (화를 내며) 내가 아무리 점을 보는 사람이지만, 사람이 죽을 마당에 농담 할 늙은이로 보이나? 어? 믿기 싫으면 저리가!
수진: (놀라며) 아니,, 왜 화를 내고 그러세요?
점술가 할아버지: 어여가! (기분 나빠하며)
수진: (발길을 돌리며) 참 이상한 할아버지시네...

(할아버지가 하신 말씀이 좀 걸린 듯 돌아가면 서도 할아버지 쪽을 자꾸 보는 수진.)

44. #지하철 역 / 건, 예은아버지, 노숙자, 시민들
퇴근 러시가 방금 끝나서 인지 역 안이 이제야 좀 여유가 보인다. 평상시 아무렇지도 않던 건. 오늘 따라 사람들을 유심히 살펴본다. 이제 걸음마를 배우기 시작한 듯한 어린아이의 손을 꼭 잡고 전철을 기다리는 아이엄마. 보기만 해도 부러운 커플들. 수다를 떠는 학생들. 오늘도 사람들 사이를 지나가며 구걸하는 행인. 자리를 피하거나 무심해 하는 사람들. 같은 시간, 맞은편 사람들 옆에서 전철을 기다리는 예은아버지.

예은아버지: (피곤한 얼굴을 한번 쓸어 만지며 숨을 길게 내리 쉰다.)
건: (이어폰을 귀에 꽂고 음악을 듣는다.)

(손에 술병을 든 채, 한 나이든 행인이 선로 가까이로 움직인다. 이내 곧 고성이 들린다.)

노숙자: 나 죽을꺼야!!! 죽어 버릴꺼야... 나라가 나한테 해준 게 뭐야... 사회가 나한테 해준 게 뭐냔 말이야...

(노숙자, 실망/좌절감/손에 든 술을 마신다.)

노숙자: 회사에서 버림 받아, 가족들에게서도 버림 받아, 나라에서도 버림 받아... 나더러 어떡하라고... (흐느낌).

예은아버지: (이 때 그에게 다가가서 어깨를 부축하며)
예은아버지: 아저씨... 아저씨 이러면 어떡합니까... 그래도 어떡해도 살아 봐야 하는 것 아닙니까? 세상 그렇게 힘들지 않아요... 아저씨만 힘든 것 아니잖습니까...

노숙자: (노숙자는 눈물을 하염없이 흘리며 예은아버지의 얘기를 듣는다.)
예은아버지: 이곳 서울뿐만 아니라 전 국민이 비록 힘들지만 희망을 버리지 않고 열심히 살아보려고 노력합니다. 힘.. 냅시다...

(예은아버지도 예전의 어려웠던 때가 잠시 기억이나 눈시울이 어느새 촉촉이 젖어있다.)

(E) 전철이 오는 소리
(전철이 어느새 입구까지 들어오고 있다.)

노숙자: (뭔가를 결심한 듯) 니까짓게 뭘 안다고 주절대? 너나 잘해! 나 죽을꺼야!

(지하철 앞으로 뛰어 내리려고 하자 예은아버지, 이를 보고 황급히 말린다.)

예은아버지: 아저씨 왜 이래!!! 당신만 힘든게 아니잖아!!!
노숙자: (예은아버지를 뿌리치려 노력하며) 이거 안놔? (떼어 낼려고 안간힘을 쓴다.)

(E 전철의 경적소리 / 사람들의 비명)
(예은아버지가 말리는 상황에서 노숙자... 예은아버지를 떼어 내려다 밀어 낸 것이 그만 예은아버지가 선로 아래로 떨어지고 만다.)

(전철은 급브레이크를 걸어 보지만 이미 눈앞에선 예은아버지 모습은 보이지 않고 길게 늘어진 전철만 보인다.)

노숙자: (눈이 동그래지며) 씨... 씨발 이게 뭐야 !
노숙자: (주위를 잠시 둘러보더니) 아니야... (소리를 지르며) 아니야 !!!

(이내 들고 있던 술병을 바닥에 던지고, 자신이 지금 어떤 일을 저질렀는지를 아는지 황급히 도망을 간다.)

노숙자: (고통에 섞인 비명을 지르며) 아...

(T.U)
건: (이 순간, 아버지의 사고 현장을 보며 / 내가 방금 뭘 본건지)
건: (몸은 움직일 수가 없고 멍한 상태에 자꾸만 귀 속에서 진동이 울린다. 시간은 멈춰버린 듯한)
(T.B) (PAN) 놀라면서도 안타까운 표정의 사람들, 119/112에 신고전화를 하는 사람들, 지하철 직원에게 알리려 뛰어 가는 사람들.
(D.E) 사고가 나는 씬

(BGM)
(건이의 이어폰에서 흘러나오는 음악 #1/3)

45. #지하철 역 밖
(BGM) (Montage #1)
노숙자가 역을 빠져나가 인도에서 방황을 한다. 뭔가에 정신이 빠진 듯... 도로는 오후지만, 그럭저럭 한적해서 그런지 차들이 빠른 속도로 움직인다.

46. #지하철 역 / 건, 예은아버지, 노숙자, 시민들
(BGM)
(건이의 이어폰에서 흘러나오는 음악 #2/3)

47. #지하철 역 밖
(BGM) (Montage #2)
뒤 쫒아온 시민들, 소리를 지르며 노숙자를 가리킨다. 노숙자, 사람들을 의식한 나머지 두리번거리다 차도로 뛰어 들어 맞은편으로 달리기 시작한다.

노숙자: (어쩔 줄 모르면서 당황하며) ...

(차들이 노숙자 옆을 지나간다.)
(E) 자동차 경적소리들

노숙자: (자꾸 사람들을 의식하며) ... 나 아니야... (울며) 나 아니란 말이야 !!!

(한대의 차가 빠르게 다가온다.)
(E) 자동차 상향등(upper head light)이 노숙자 눈에 비친다.

노숙자: (눈이 잠깐 부셔 손으로 빛을 가린다.) ...

48. #지하철 역 / 건, 예은아버지, 노숙자, 시민들
(BGM)
(건이의 이어폰에서 흘러나오는 음악 #3/3)

49. #지하철 역 밖
(Montage #3)
(E) 급정거
(차가 노숙자를 치면서 미끄러진다.)

50. #지하철 역 / 건, 예은아버지, 노숙자, 시민들
(F.I) (BGM)
(건이의 이어폰에서 흘러나오는 음악 #3/3)

(전철이 비켜가고 선로에 쓰러져 있는 예은아버지. 이 광경을 본 시민들, 이리저리 정신없이 다른 곳으로 뛰어 간다.)

건: (건의 눈에 아버지의 모습이 들어온다. 시간은 다시 흐르고)
건: (심장이 너무 빠르게 두근거려서 터져버릴 듯한) 아버지! (맞은편 선로로 뛰어 들어 가려지만 사람들이 막는다.)
건: (제정신이 아닌 듯) 이거 놔요! 우리 아버지란 말이에요! 이거 놔요! ... 아버지!! 아버지!! (울먹임) 아버지... (힘이 풀린 듯 주저앉는다.)

(E) 경찰/소방대원
(경찰과 소방대원, 구급요원이 사고지점으로 온다. 어느덧 많이 모인 사람들. 그 사람들 사이에서 아버지의 시신을 보며 울먹이는 아들 건.)

시민들: 쯧쯧, 자살할 용기 있으면 뭐 든 해볼 생각을 해야지, 한심하네... 아무튼 불쌍하다.

(이렇게 예은아버지는 행복한 가족을 남기고 먼저 눈을 감는다.)

51. #지하철 입구 / 건
힘없이 의료진과 역 밖으로 나온 건의 모습이 너무 무겁고 사실을 부정하려는 듯한 그의 억울해 보이는 표정이 이내 보는 사람들로 인해 안타깝게 보인다. 의료진은 힘이 빠질대로 빠져버린 건을 부축하며 걸어 나온다.

건: (눈물을 옷깃에 한번 닦더니 제정신이 든 듯 핸드폰을 급하게 꺼내 엄마에게 전화를 건다.)

(E) 신호음
건: (침착해 하려 애써 노력하며)

(연결되는 음과 함께 사람들의 북적대는 소리에 엄마의 목소리가 건의 귓가로 들려온다.)

52. #oo마트안 음식코너(식당이 혼합되어있는) / 태윤엄마, 예은엄마, 예은
식당이라서 그런지 사람들 소리가 크다. 예은 옆자리에서 떼를 쓰는 어린 아이들.
예은엄마, 태윤엄마, 예은은 시종 웃으면서 얘기를 나누고 있다.

예은엄마: (전화가 온 것을 확인 한 뒤) 잠깐만, 전화왔네... ... 건이네?
예은: (웃으며) 건이야?
예은엄마: (예은의 말에 눈치를 챈 듯 예은에게 윙크를 한 후) 응, 우리 막내... 어쩐일이야?
예은엄마: ... (잘 안들린다는 듯) 건아? 건아, 엄마 잘 안들려. 크게 좀 말해봐...
건(E): (울면서) 엄.마...
예은엄마: (이상해 하며) 건아... 아들 지금 울어?
예은, 태윤엄마: (궁금해 하며) ...
예은엄마: (의아해 하며) 건아... 왜 울어?... 엄마한테 말해봐... 어서...

53. #지하철 입구 / 건
건: (흐느끼며) 엄마...
예은엄마(E): 응, 그래... 말해봐...
건: 엄마... (울면서) 아빠가... 아빠가...

54. #oo마트안 음식코너(식당이 혼합되어있는) / 태윤엄마, 예은엄마, 예은
예은엄마: (무슨 일인가 하며) 아빠가 왜?
예은엄마: (얼굴 표정이 갑자기 굳어지며 못 믿겠다는 듯이) 어? ... 뭐라구?
예은엄마: (입술을 부르르 떨며 당황하기 시작한다.) 건.아... 다시한번 말해봐... 아빠가 어떻게 됐다구?
예은: (놀라면서 걱정이 되며) 엄마, 아빠가 왜?
예은엄마: 너 가만히 있어...
태윤엄마: (걱정되며) ...
예은: (심장이 점점 빠르게 뛰는 걸 느끼는 듯 긴장을 풀려고 노력하며) ...
예은엄마: (모든게 무너진 듯 손에 들었던 핸드폰을 내리며 울기 시작한다.)
예은: 엄마, 엄마 왜 그래? 아빠가 어떻게 됐는데?...
태윤엄마: (당황해 하며 예은엄마 어깨를 잡아준다.)
예은엄마: (울면서) 예은아,,,
예은: 응, 엄마... 말해봐... 무슨일이야?...
예은엄마: 니 아빠가,,, 니 아빠가 사고가 났단다...
예은: (너무 불안해 하며) 아빠 괜찮은.거지...? 그렇지?
예은엄마: (한없이 울고만 있는다.)
예은: (너무 큰 충격에 정신없어 하다가) 그럼,,, 이제 아빠 못 보는 거야? 어?...(울면서) 말해봐 엄마... 그런거야?...
예은엄마: 세상에 이게 무슨 날벼락이야... (통곡)
예은: (울다 갑자기 가슴을 움켜잡으며) 엄.마... 엄마...
태윤엄마: 예은아, 예은이 왜 이래?...
예은엄마: (예은이를 잡으며) 예은아, 예은아...
예은: (울면서) 엄마... 나 여기가 지금 너무 아파...
예은엄마: 예은아, 참아봐... 엄마가 병원에 데려다 줄께... 야.. 미자야...빨리 구급차 불러...
태윤엄마: (당황하며) 어,,, 그래... 알았어... (일어나며 직원에게 달려간다.) 구급차좀 불러줘요 !!!
예은엄마: (소리 지르며) 빨리! 예은아... 예은아... 너까지 왜 그래?... (예은의 얼굴을 만져주며) 조금만 참아... 응? 예은아... (예은을 꼭 안으며) 이게 무슨 날벼락이야...

(사람들, 예은엄마의 우는 소리에 놀라 주위에 몰려든다.)

55. #구급차 안 / 태윤엄마, 예은엄마, 예은
구급요원들이 예은에게 응급처치를 하는 모습. 예은엄마, 많이 힘들어 보이지만 정신을 차리며 예은의 손을 꼭 잡고있다. 태운엄마, 걱정되는 모습과 내내 불안해하는 모습이 보인다.

예은: (조금 안정되며) 엄..마...
예은엄마: 그래... 예은아.. 엄마 여기있어... (손을 꼭 잡으며 안심시킨다.)
예은: 엄..마... (울기 시작한다.) 엄마...
예은엄마: 예은아, 엄마 보면서 말해... 엄마 얼굴 보면서 말해... (혹시라도 눈을 감을까봐 걱정이 되는)
예은: 우리 이제 아빠 없이 어떡해?
예은엄마: (자신이 더 아파하지만 애써 참으며) ... (이내 결국 울기 시작한다.)
태윤엄마: (조용히 눈물을 흘리며 두 모녀를 안타까워한다.)

56. #병원 응급실 밖 / 태윤엄마, 예은엄마, 예은
앰뷸런스가 응급실 앞에 도착하는 모습이 보인다. 미리 대기하고 있던 의료진들이 서두르기 시작한다. 이내 예은을 응급실 안으로 이동시킨다.

57. #응급실 안 / 태윤엄마, 예은엄마, 예은
의료진이 예은에게 몇몇 검사를 한다. 불안해하며 옷깃을 꼭 잡고 있는 예은.

예은엄마: 선생님, 우리 예은이 괜찮을까요?
의사: 현재 심장은 다행히 안정 되었지만, 환자의 호흡이 조금 불안정한 상태라서 원활할 때까지 산소 호흡기를 사용해야 합니다.
예은엄마: (예은을 보며) 네...
의사: 지금은 병원에 있으니까 너무 큰 걱정은 하지 않으셔도 됩니다. (예은엄마를 안정시키며) 단순 쇼크라서 링거 맞고 한숨 자고 일어나면 많이 좋아질 겁니다. 하지만 절대 안정을 취해야 합니다.
예은엄마: 네, 고맙습니다. (예은의 머리를 쓰다듬어 주며) 다행이다... 다행이야... 너까지 잃는줄 알았다...
태윤엄마: (한숨 돌리며) 그래... 다행이야... 예은아...
의사: (간호사를 보며) 이 환자, 상태 계속 지켜보면서 문제 생기면 나한테 바로 연락줘요...
간호사: 네, 선생님...
예은엄마: (예은을 안정 시키며) 예은아...
예은: (울음을 참고 있는 듯) ...
예은엄마: 예은아, 엄마... 아빠한테 다녀올게...
예은: (말없이 고개를 끄덕인다.)
예은엄마: (힘없이 눈 감으며) 그래...
태운엄마: 숙자야, 예은이 걱정하지 말고 다녀와... 내가 예은이 옆에 있을게...
예은엄마: (눈물을 닦으며) 그래... 미자야 고마워...
태윤엄마: (눈물을 지으며) 어서 가봐...
예은엄마: 그래,.. 예은아,, 엄마 다녀올게...

58. #응급실 밖 / 예은엄마
응급실 밖 벽에 등을 기대어 입을 막고 우는 예은엄마.

예은엄마: (핸드폰을 꺼내며 건에게 전화를 건다.) ...
(E) 통화음
예은엄마: (울음을 간신히 참으며) 건아,,, 엄마야...
예은엄마: (잠시 건의 말을 듣고) 응... 엄마도 병원이야... 예은이가 아빠소식 듣고 심장이 안좋아져서...
예은엄마: 어느 병원이야?

(응급실로 들어오는 건. 얼마나 울었는지 하루사이에 얼굴이 많이 망가졌다. 고개를 들다 엄마를 발견하고 다가온다.)

건: 엄마...
예은엄마: (건을 보며) 건아... 여기로 왔니?
건: (고개를 끄덕이며) 응...
예은엄마: (건을 안아주며) 그래... (등을 두드려 준다.)
건: (참았던 눈물을 또다시 흘린다.)
예은엄마: 아빠한테 가보자...

59. #영안실 문 밖 / 예은엄마, 건
예은엄마, 영안실 문을 열고 나온다. 얼굴엔 남편이 죽었다는 걸 부정하는 듯한 표정이 가득하다. 이어 나온 건, 엄마를 안타까워하며 바라본다.
영안실 문에 등을 기대어 힘없이 바닥에 앉으려는 예은엄마. 엄마가 쓰러지는 줄 알고 부축하는 건.

예은엄마: (바닥에 앉으며) 아니야... 비슷한 사람일꺼야...
건: 엄마, 나도 그렇게 생각하고 싶어... 근데... 아빠 맞아...
예은엄마: (울면서) 건아... 엄마 이제 어떡하니?...
건: (울먹이며) 누나들하고 내가 있잖아...

(예음엄마, 건. 함께 안으며 우는 모습이 주위 사람들도 같은 상황이지만 더욱 가슴 아프게 보인다.)

60. #장례식장 / 예은엄마, 수진, 예은, 건
(F.O)
상복으로 갈아입는 예은 가족들, 얼마나 많이 상처 받고 통곡을 하며 울었는지 모두 눈시울이 빨갛다.

수진: (갑자기 주저앉으며 통곡한다.) 그 할아버지가 얘기 할 때 진지하게 들을껄... (아빠의 영정 사진을 보며) 아빠 미안해... 내가 그 할아버지 말을 무시해서 아빠가 이렇게 됐어... (울음) 그 때 아빠한테 전화라도 했으면... 전화라도 해서 알려줬으면 이런 일 당하지 않았을 텐데... 미안해 아빠... 정말 미안해...

(C.U) 예은
(예은이 아픈 몸을 이끌며 아빠의 빈소로 들어온다.)

예은: (굵은 눈물만 하염없이 흘러내린다.)

예은엄마: (예은을 보며) 예은아... 아픈 몸으로 왜 왔어?... 괜찮아?...
예은: (말없이 아빠의 영정 앞으로 다가오며 눈물만 흘린다.) ...

(예은엄마, 벽에 등을 간신히 기대며 그나마 남은 힘을 옆에 있는 건이 어깨에 의지하며 버틴다.)

61. #길거리 / 예은
(F.I) (BGM) 얼마간의 시간이 지나고.
큰길가의 인도를 정신이 나간 듯 한 모습으로 걸어가는 예은.

62. #구청 민원실 문 밖 / 예은
민원실 유리문을 한손으로 만지며 아버지가 계셨던 곳을 바라본다.
(INS) 아버지가 창구에서 일하시며 웃는 모습
예은, 아버지의 웃는 모습을 보며 반가운 듯이 웃다가 이내 눈물을 흘린다.

(어떤 사람이 민원실 문을 열자 잠시 멍한 예은, 근처 화장실로 달려간다.)

63. #구청 민원실 문 밖 화장실 / 예은
감정에 복받쳐 화장실 칸막이 안 구석에 쪼그려 앉아 입을 막고 통곡을 하는 예은.

(BGM)

- 1회 끝 -

Free Streaming TV, Video

Free Streaming TV / Video, ...

음하하하...

강력추천... 전 세계 실시간 TV link
http://wwitv.com/
http://jp.delicast.com/


이곳은 일본에서 link 해 놓은 우리나라 KBS, MBC, SBS 실시간 TV,,,
리스트를 보면 정말 대단함... -_-;
http://kajiritate-no-hangul.com/TV_RADIO/


기타 등등
http://www.kakiko.tv/


아래 목록들은 아래 동영상에 나오는걸 보면서 적어 놓은 것임... -_-;
Source: http://dougakensaku.com/detail/Il9-7_J1wUI
http://www.joost.com/
http://www.babelgum.com/
http://zattoo.com/
http://www.vuze.com/
http://www.jalipo.com/
http://www.veoh.com/
http://www.stage6.com/
http://blip.tv/
http://www.flixdump.com/
http://www.freemoviescinema.com/
http://www.myeasytv.com/
http://www.guba.com/
http://www.chooseandwatch.com/
http://www.videohybrid.com/
http://www.dailymotion.com/






목요일, 1월 10, 2008

Hackers Get Android Running on Real Hardware

Hackers Get Android Running on Real Hardware

이런 망극할 일이 있나... (--)(__)
너무 좋은 소식이군... :)

http://eyevio.jp/movie/87252


:: Penguinistas hack Android onto real hardware
http://linuxdevices.com/news/NS4262102607.html

:: Google Android runs on Sharp Zaurus SL-C760
http://euedge.com/blog/2007/12/06/google-android-runs-on-sharp-zaurus-sl-c760/

---

:: Build or download a console image for the SL-C760
http://www.angstrom-distribution.org/

:: Benno provides a busybox compiled for the emulator
http://benno.id.au/blog/2007/11/14/android-busybox


[출처]
http://euedge.com/blog/2007/12/06/google-android-runs-on-sharp-zaurus-sl-c760/

Yesterday we managed to get Google Android running on a Sharp Zaurus SL-C760. This seems to be the first documented success with this device. This article provides instructions on how to get it working, in case you would like to try it at home :)

Google Android is a new software stack for mobile devices, specifically mobile phones. It uses the Linux kernel as the core, but Google developed a new user space stack:

* Developers use the Java language to write applications.
* The applications are executed using the Dalvik VM instead of the regular JVM.
* Google provides an easy to use SDK, complete with a QEMU based hardware emulator.

However, there is currently no real device on the market that runs Android. Open-source hackers instantly started to get the software from the emulator running on various devices. Most of the initial work was done by Ben “Benno” Leslie, who almost managed to run Android on a Neo 1973. Unfortunately the Neo includes an older ARM core, so the builds of the emulator won’t run on it.

Android browser

Then, based on Benno’s guide it was possible to run Android on an Armadillo-500.

Based on the findings of the earlier work, Android should run on any device with an ARMv5TE CPU + suitable amounts of RAM and Flash. Work started to get Android running on various devices, like the Sharp Zaurus family. An initial guide on how to get to the “cylon screen” with the moving red dot was posted on the Android Developers group.

With using information from the above work, I was able to run Android on a Sharp Zaurus SL-C760.

Here comes the outline of the process:

1. Build or download a console image for the SL-C760 from the Angstrom Distribution.
2. Build a patched kernel for Android. I used the android.diff from Benno to patch the linux-rp-2.6.23 kernel of the Angstrom distribution. I had to do some minor tweaks in the patch to apply cleanly: I removed some Goldfish device specific parts. In the kernel configuration enable all Android specific options except the USB gadget and the QEMU / debug options.
3. Flash the console image and the patched kernel onto the device.
4. Extract the contents of the /data and the /system drives from the emulator using Busybox tar. Benno provides a busybox compiled for the emulator here. Make sure you get the device files as well.
5. Extract the ramdisk image of the emulator using gzip and cpio.
6. Build a directory tree of the Andoid software which mimics the emulator layout. Make sure to preserve the file ownerships and permissions from the tar archives.
7. Share this directory over NFS
8. Connect your Zaurus to your host PC either with usbnet or wlan.
9. Mount the NFS share on your Zaurus to /android
10. Copy the /dev/binder to /android/dev/binder. This was necessary because in the emulator the binder device had major number 252 while in the Zaurus it had 253. Make sure that the binder device has the mode 666.
11. Create a small script on your Zaurus as /android/a.sh with the following contents:

#!/system/bin/sh

export PATH=/sbin:/system/sbin:/system/bin:$PATH
export LD_LIBRARY_PATH=/system/lib
export ANDROID_ROOT=/system
export ANDROID_ASSETS=/system/app
export ANDROID_DATA=/data
export EXTERNAL_STORAGE=/sdcard
export DRM_CONTENT=/data/drm/content

mount -t proc proc /proc
mount -t sysfs sysfs /sys

/system/bin/app_process -Xzygote /system/bin --zygote &
/system/bin/dbus-daemon --system &
runtime

12. Create a small script on your Zaurus as /bin/a.sh with the following contents:

#!/bin/sh
umask 000
chroot /android /a.sh

13. Execute /bin/a.sh as root on your Zaurus and hope for the best

Current status:

* The system boots and the applications seem to work.
* Runs from an NFS share over a network connection.
* Keyboard input is working.
* Touchscreen is not working.
* No network connection yet for Android applications.

Next steps:

* Get the touchscreen to work.
* Set up networking.
* Make it work from the flash file system as well. (JFFS2 does not support read-write memory mapped files, so we will need to use Yaffs, just like Google does.)

Have fun, and leave a comment, if you get further along in the process!

일요일, 1월 06, 2008

Google 에서 MP3 찾는 법

:: Google 에서 MP3 찾는 법
intitle:"index of" mp3 제목
intitle:"index of" avi 제목

#1 intitle:"index.of" (mp3|mp4|avi) No.one.knows -html -htm -php -asp -cf -jsp
After Bookmark above page,
Location: http:~~~ intitle...|avi) No.... 에서 "No...." 부분을 %s 로 변경
Keyword: music 추가
url 에서: music no.one.knows 이렇게 쉽게 검색

#2 site:.edu intitle "index of" pdf
#3 site:.edu filetype:pdf calculus
#4 site:berkely.edu filetype:pdf calculus
#5 site:berkely.edu intitle "index.of" mp3
#6 site:berkely.edu french
#7 site:berkely.edu french pdf

http://www.youtube.com/watch?v=sRv953XZX6Y



등등...

일기 (2008.01.06)

음... 저번주 금요일(4일 금요일)에 있던 얘기인데...
그날 날씨가 참 좋았다. 점심을 맛있게 먹고 따스한 길을 걸어 회사를 가는데, 어떤 젊은 아주머니 두 분이서 얘기를 하는걸 우연히 듣게 되었다.
스치며 들은 순간... 쓰러지는 줄 알았다... -_-;

아주머니1: 우리 아들이 일기를 안써가지고 간다고 학교에서 연락이 왔어. 선생님이 일기 꼭 써오라고 했대...
아주머니2: 응... 그래서...
아주머니1: 그래도 안써가지고 가다가, 선생님이 제발 한줄 만이라도 꼭 일기를 써오라고 했대... 그랬더니 정말 일기를 써왔대... ^^;
아주머니1: 뭐라고 썼는줄 알아?
아주머니2: (웃음) :)
아주머니1: "오늘은 일기를 썼다.", "어제도 쓰고 오늘도 썼다."

아나...

아래는 blogger.com 에 upload 한 gif 이미지 인데... animate 가 있는(hyperlinked) 이미지가 있는데도 불구하고 화면엔 animate 되지 않군... -_-;
(이 gif 이미지는 무비알지에서 가져옴)

월요일, 12월 31, 2007

핸드폰 소설

음...

일본에서 인기있는 item 중 하나인 "핸드폰 소설" 이다.
아래는 그 중 하나인 영화화 되기도 했던 ~恋空~(Koizora) 이다.

~恋空~ 공식 사이트
http://koizora.jp/

~恋空~ 핸드폰 소설보기
http://ip.tosp.co.jp/BK/TosBK100.asp?I=hidamari_book&BookId=1&SPA=200

아래는 국내에서 서비스 중인 모바일 소설 "1,000 字 소설" 서비스에 대한 기사이다.
http://www.inews24.com/php/news_view.php?g_serial=246155&g_menu=020500&pay_news=0


일본처럼 모바일용 초미니 소설 뜰 까…모비닷컴, SKT에서 서비스
김현아기자 chaos@inews24.com
모바일 콘텐츠 업체 모비닷컴(대표 이상교 www.mobbie.com)은 SK텔레콤 무선 인터넷 네이트(NATE)에서 '1,000字 소설' 서비스를 시작한다.

'천자소설'은 젊은이 취향을 고려해 빠른 호흡의 문체로 10분이내에 재미를 느낄 수 있도록 한 글자수 4천자 이내의 초미니 단편소설.

현재 모바일에서 서비스되고 있는 m-북, u-북은 출판된 소설을 그대로 옮겨놓은 것. 하지만 '천자소설'은 길이와 문체가 다르다.

모비닷컴 관계자는 "일본, 중국을 중심으로 인기를 끌고 있는 모바일 콘텐츠 중 하나가 바로 소설 장르"라며 "활자 이탈현상이 가속화되고 있는 일본에서는 모바일 소설이 새로운 신세대 문화코드로 자리매김 하고 있다"고 설명했다.

일본의 유명 출판사인 신쵸사의 경우 모바일 소설 사이트인 휴대문고를 열어 유료회원만 5만명이 넘는 인기를 누리고 있다. 나이토미카(35)라는 모바일 소설작가가 등장, 수천명의 팬을 확보하고 있는 것으로 알려졌다.

'천자소설'은 무협, 판타지, 추리 등의 장르문학과 순수문학을 모두 포함한다.

이상교 사장은 "모바일 천자소설은 이용자에게는 특화된 전용 서비스를, 작가에게는 새로운 매체와 시장에의 참여를, 출판사에게는 부가 수익원이 될 수 있는 윈윈 콘텐츠"라고 설명했다.

SKT의 NATE>운세학습생활예매>책책책! m-Book(또는 **19 + NATE 버튼)을 통해 감상할 수 있다.

모비닷컴은 2월 한 달간 모바일 천자소설 공모전을 실시, 모바일 천자소설 작가 발굴에 나선다. 최우수상 1명에게는 상금 100만원이 주어진다.

IT는 아이뉴스24, 연예스포츠는 조이뉴스24

금요일, 12월 21, 2007

혼자서 공부하는 법

Source:
http://snowall.tistory.com/71


난 공부를 혼자서 했다.
...라고 말하면 99.9%쯤은 거짓말이지만. 아무튼 혼자서도 공부를 하긴 했다.

요새는 학원, 과외, 인터넷 강의 등 공부할 수 있는 여건이 잘 갖춰져 있어서 스스로 공부하지 않아도 돈만 내면 교사가 눈앞에서 다 가르쳐주는 세상이 되었다. 물론 이게 나쁘다는 건 아니다. 하지만 이것은 문제의 시작점이 될 수 있다. 워낙 편하게 공부를 하다보니, "요점정리"라든가 "필수 기출문제"라든가 하는 공부하기 쉽게 가공된 정보만 머릿속에 들어오고 따라서 직접 중요한 것과 중요하지 않은 것을 스스로 따지는 것이라든가, 안풀리는 문제를 며칠씩 붙잡고 머리싸매면서 풀어보는 것이 멍청한 짓이 되어버린 세상이 된 것이다. 하지만 공부는 그런게 아니다. 답이 있든 없든, 내가 모르는 것을 알아가는 것 자체에 중요한 의미가 있는 것이다. 정확히 말해서, 내가 학교나 학원에서 배워야 하는 것은 지식이 아니라 지식을 만들어내는 방법이다. 아주 유명한 격언이지만, 물고기를 잡아주기보다는 물고기 잡는법을 가르쳐 줘야 한다는 말이 있다. 요새는 모두 물고기를 잡아준다. 생각해보니, 모든 사람들이 물고기를 잡을줄 알게 된다면 물고기 팔아서 먹고 사는 낚시꾼들은 다들 굶어 죽겠군.
스스로 공부하는 능력을 잃어버린 사람은 결국 타인에게 의존하는 수동적인 사람일수밖에 없다. 세상에는 사람이 모르는 것이 아주 많이 있는데, 그중에서 다른 사람에게 배울 수 있는 것은 아주 조금이다. 나머지는 스스로 알아서 배워야 하는 것이다. 하지만 스스로 공부를 할 수 없다면 결국 아주 많은 사람들에게 배워야 그나마 알게 된다는 얘기가 될텐데, 이건 곧바로 지출로 이어진다. 지식을 거래하는 사회에서는 지식을 만들어내지 못하면 자신의 자산이 줄어들어야만 할 것이다. 따라서 혼자서 공부하는 능력을 키우는 것은, 좋은 대학에 가는 것이나 성적을 잘 받는 것보다 훨씬 중요한 성공의 요소가 된다.
이런 이유로, 이 글에서는 혼자서 공부하는 방법에 관하여 논의해 볼 생각이다.

우선, 모든 수동적 공부방법을 끊어라. 과외, 학원, 인터넷 강의 등은 별 도움이 안된다. 물론 모든 것을 다 끊으라는 것은 아니고 적절한 타협점을 찾아서 필요한 과외, 필요한 학원, 필요한 인터넷 강의는 들어야겠지만 거기에 의존하는 태도를 버리기 위해서는 일단 모든 것을 끊고 시작하는 것이 좋다. 이 시기는 빠를수록, 어릴수록 좋다.

두번째로, 모르는 것에 대한 두려움을 없애야 한다. 당신이 이 세상의 모든 지식을 전부 아는 것은 불가능하다. 당신 스스로가 잘 알다시피 당신은 아무것도 아는 것이 없을 것이다. 아직 배우지도 않았으므로 모르는 건 당연한 일이고 따라서 그걸 이상하게 생각하는 사람들은 전부 이상한 사람이라고 할 수 있겠다. 모르는 건 당연한 일이니까 두렵고 자시고 할게 없다.

세번째로 가져야 하는 것은 모르는 것을 알고자 하며 그 알아가는 과정을 즐기려는 마음이다. 누군가로부터 손쉽게 얻어낸 지식은 모래위에 모래성을 쌓는 것과 같아서 파도가 휩쓸고 가면 전부 무너진다. 더군다나 현대 지식 사회는 지식이 폭풍처럼 만들어져서 온세상에 휘몰아치는 세계이다. 그 폭풍속에서 버텨낼 수 있는 견고한 지식을 쌓아두지 않으면 배우나마나한 지식이 되어버린다.

넷째로, 너무 어렵거나 모르는 것은 물어보면 된다. 하지만 대답해 주는 사람에게 의존하지 말고, 스스로 답을 찾는 것을 연습해라. 대답해 주는 사람이 내가 질문하는 것의 모든 것을 대답해줄 수는 없다. 그 역시 사람이니까. 스스로 답을 찾아내는 것을 연습하지 않으면, 아무도 대답해줄 수 없는 자신의 문제에 답을 알 수 없게 된다. 그 문제가 별로 중요하지 않다면 모르겠으나, 아무도 정답을 모르는 문제는 대부분 대단히 중요한 경우가 많다.

다섯번째로는 지겨움에 대한 내성이다. 모르는걸 끝도없이 붙잡고 있으면 당연히 지겹다. 사실 별로 중요하지 않은걸 끝도없이 붙잡는건 시간낭비겠지만, 아무리 중요한 내용이라도 모르는걸 계속 고민하다보면 지겨워서 관두고 싶어진다. 이 지겨움을 알아냈을 때의 기쁨을 기대하면서 즐거움으로 승화시켜라. 이정도 할 수 있으면 절에 들어가서 스님이 되어도 이겨낼 수 있을 것 같다. 그리고 아무래도 모르겠다면 물어봐라.

여섯번째로, 평소에 책을 읽어라. 책을 많이 읽어두는 것은 잡다한 지식을 많이 얻을 수 있기 때문에 좋다. 그리고 독해력이 향상되어 중요한 공부를 해야 할 때 빠르게 공부를 할 수 있게 된다. 책을 그냥 읽으면 안되고 그 안의 내용을 자기 것으로 소화시키는 것 또한 중요하다. 책을 전부 암기하라는 얘기가 아니라 나중에 어떤 필요한 내용이 있을 때 "아, 그 책에서 봤던 내용이다!"라고 외칠 수 있을 정도의 어떤 느낌을 기억하라는 뜻이다. 책 제목을 다시 보면 "이건 이런 내용에 관한 책이었지"라는 느낌이 들 정도면 충분하다.

일곱번째는 네번째와 관련이 있다. 친구를 많이 사귀는 것도 공부에 도움이 된다. 친구는 인생의 여러가지 면에서 나에게 도움을 줄 수 있는데, 그중에서 내가 모르는 것을 친구가 알고 있을 가능성이 있기 때문에 공부에도 도움이 된다. 이것은 친구가 많아질수록 내가 얻을 수 있는 지식의 범위도 확장되는 것이라고 생각하면 된다. 물론 나 역시 친구가 내게 무언가를 물어봤을 때 성실하게 대답해줄 의무를 가진다는 점은 잊지 말자.

당신이 타고난 천재가 될 수는 없겠지만, 노력하면 천재 비슷한 정도는 될지도 모른다.

물론, 난 이 글이 당신에게 어떤 영향을 미칠지에 대해서 전혀 보증을 못하는 바이다.

화요일, 12월 11, 2007

Recipe, Japan

:: Recipe
음... 너무 먹고 싶다... =)

http://baby.goo.ne.jp/member/ninshin/recipe/15/index.html

Stainless Steel Jewelry, Japan

:: 예쁘다... :)
http://www.inakanohanaya.jp

[CV][IP] Microsoft Photosynth Technology Preview

오래된 내용인데, 2007년이 가기 전에 blog 게시물 개수를 늘려야 하기에... ^^;

:: Microsoft Photosynth Technology Preview
http://labs.live.com/photosynth/view.html?collection=sanmarco/index1.sxs

good ~!

Linux Assembly Code

Linux Assembly Code

글쓴이 : 이호 (i@flyduck.com)
최신 글이 있는 곳 : http://linuxkernel.net/

v0.1.1 2000년 4월 8일
v0.1.0 2000년 3월 28일

차례

* 0. 서문
* 1. GAS와 AT&T 문법
* 2. Inline Assembly
* A. Reference


0. 서문
이 문서는 리눅스에서 사용하는 어셈블리 문법에 대해서 (특히 x86에서) 간략히 요약한 글입니다. 리눅스에서 사용하는 어셈블리 코드는 Intel/Microsoft에서 사용하는 어셈블리 코드와 차이를 보입니다. 문법도 서로 틀릴 뿐만 아니라, C 코드 중간에 사용하는 inline 어셈블리 코드의 사용법도 많은 차이를 보입니다. 이 글은 리눅스에서 어셈블리 코드를 작성하는 법이 아니라, 이미 어셈블리어에 대해서 어느정도 지식이 있다는 가정하에, 리눅스 용으로 작성된 어셈블리 코드를 읽는 법을 다룹니다.

1장. GAS와 AT&T 문법에서는 GAS에서 사용하는 AT&T 문법이 Intel/Microsoft에서 사용하는 문법과 어떤 차이가 있는지를 설명합니다. AT&T 문법은 Intel에서 사용하는 문법과 많은 차이를 보이는데, 여기서 비롯되는 혼동을 없애려고 합니다. 이 장은 인텔에서 사용하는 어셈블리어(Microsoft의 Macro Assembler나 Borland의 Turbo Assembler 등)를 알고 있다면 많은 도움이 될 것입니다. 2장 Inline Assembly는 C 코드내에서 어셈블리 코드를 사용하는 방법에 대한 글입니다. 커널 코드에서 CPU에 의존적인 부분들의 상당수는 inline 어셈블리 코드로 작성되어 있는데, 어셈블리어를 알고 있다고 하더라도 처음 접하는 경우 이 코드는 암호처럼 보이기도 합니다. 이 장은 GCC의 inline assembly 형식에 낯선 사람들이 이를 이해하는데 도움이 될 것입니다.

이 문서는 Linux Assembly HOWTO 문서와 Brennen's Guide to Inline Assembly, DJGPP QuickASM Programming Guide, GCC Manual, GAS Manual에 있는 내용을 요약 정리한 것입니다. 여기 등장하는 예제들 역시 앞의 글에 있는 코드들을 많이 참조한 것입니다. 되도록 꼭 필요한 내용을 중심으로 간결하게 정리하려고 하였으며, 더 자세한 설명을 바란다면 A. Reference에 나오는 문서들을 보시기 바랍니다. 실제 CPU 명령어에 대해서는 각 CPU 제조회사에서 제공하는 매뉴얼을 참조하시기 바랍니다. x86에서 사용하는 명령어는 Intel 홈페이지에 있는 (Intel Architecture Software Developer's Manual)이나 (Pentium Processor Family Developer's Guide)에 자세히 나와 있습니다.

이 글에서 잘못된 점을 발견하시거나 보충할 점이 있으면 언제든지 편지를 보내주십시오. 질문 및 대답은 홈페이지에 있는 게시판을 이용하시기 바랍니다. 그럼 리눅스를 공부하시는 분들께 도움이 되길 바랍니다.


1. GAS와 AT&T 문법
GAS는 GNU Assembler로서 GCC와 함께 쌍으로 사용되는 어셈블러이다. (인텔용 리눅스에는 GAS - /usr/bin/as - 외에도 AS86 - /usr/bin/as86 - 이라는 어셈블러가 있다. 이것은 x86용 16-bit 어셈블러로서, 여기서 사용하는 문법은 AT&T 문법이 아니라 Intel/Microsoft 형태에 가까운 것이다. 이 어셈블러는 커널의 boot loader같이 x86의 실제모드(real mode)에서 수행되는 16-bit 어셈블리 코드를 어셈블링하는데 사용한다. 이에 반해 GAS는 x86에만 국한되지 않는 32-bit 어셈블러이다.) GAS는 32-bit UNIX Compiler를 위해 만들어졌으므로, UNIX에서 일반적으로 사용되는 AT&T 문법을 따른다. 이 문법은 Intel/Microsoft에서 사용하는 문법과는 많이 다르다. 이를 비교해보면 :

* Register 이름 : 모든 레지스터 이름에는 %가 앞에 붙는다. 이는 레지스터와 다른 심볼들을 혼동하지 않게 하는 장점이 있다. 예를 들어 eax 레지스터를 나타낼 때 :

AT&T : %eax
Intel : eax

참고로 Intel 80386에는 다음과 같은 레지스터가 있다 :

o 일반 목적 register :
%eax (%ax, %ah, %al), %ebx (%bx, %bh, %bl), %ecx (%cx, %ch, %cl), %edx (%dx, %dh, %dl) : 32-bit, 16-bit, 8-bit로 사용가능
%esi (%si), %edi (%di), %ebp (%bp), %esp (%sp) : 32-bit, 16-bit로 사용가능
o segment (selector) register : %cs, %ds, %es, %fs, %gs, %ss
o flag register : (EFLAGS)
o instruction pointer : %eip
o processor control register : %cr0 - %cr4
o debug register : %db0 - %db7
o test register : %tr1 - %tr12
o floating point register stack : %st => %st(0) - %st(7)

* Operand 순서 : 원본(source)이 왼쪽, 목적지(destination)가 오른쪽에 위치한다. Intel 문법에서는 이와 반대로 되어 있다. 예를 들어 eax에서 ebx 레지스터로 데이터를 복사하는 것은 :

AT&T : movl %eax, %ebx
Intel : mov ebx, eax

* Operand 크기지정 : operand의 크기를 지정할 때 크기에 따라 b (byte), w (word), l (long) 접미사를 명령어에 붙인다. operand로 지정된 레지스터를 가지고 크기를 판단할 수 있을 때는 이를 생략할 수 있으며, 판단할 수 없는 경우 32-bit 연산으로 가정하게 된다. operand가 레지스터가 아니라 메모리인 경우는 반드시 접미사를 붙여야 한다. Intel에서는 byte ptr, word ptr, dword ptr 같은 지시자(specifier)를 사용하여 이를 나타낸다. 예를 들어 word크기의 foo 값을 bx로 복사하는 것은 :

AT&T : movw foo, %ax
Intel : mov ax, word ptr foo

이와 관련하여 AT&T와 Intel에서 사용하는 명령어들은 대부분 비슷하지만 몇가지 다른게 있다. sign extend 명령어와 zero extend 명령어는 조금 다른데, AT&T 문법에서는 extend 명령어에 원래의 크기와 확장할 크기를 지정하게 한다 :

movsSD (sign extend, Intel에서는 movsx)
movzSD (zero extend, Intel에서는 movzx)

여기서 S는 원래의 크기이고, D는 목적하는 크기이다. 예를 들어 ax를 ecx로 sign extend를 한다면 :

AT&T : movswl %ax, %ecx
Intel : movsx ecx, ax

또한 다음 변환함수에도 차이가 있다 :

cbtw (sign extend byte (%al) to word (%ax), Intel에서는 cbw)
cwtl (sign extend word (%ax) to long (%eax), Intel에서는 cwde)
cwtd (sign extend word (%ax) to long (%dx:%ax), Intel에서는 cwd)
cltd (sign extend dword (%eax) to quad (%edx:%eax), Intel에서는 cdq)

* 상수(constant)와 immediate 값 : 모든 상수와 immediate 값에는 $가 붙는다. 예를 들어 숫자 5는 $5라고 한다. 변수의 주소를 나타낼 때에도 앞에 $를 붙인다. 예를 들어 foo란 변수의 주소는 $foo이다. 그냥 foo라고 하면 변수의 값을 나타내게 된다. 숫자 0xd00d를 eax 레지스터로 복사하는 것은 :

AT&T : movl $0xd00d, %eax
Intel : mov eax, 0d000h

foo 변수의 주소를 eax 레지스터로 복사하는 것은 :

AT&T : movl $foo, %eax
Intel : mov eax, foo

foo의 값을 eax 레지스터로 복사하는 것은 :

AT&T : movl foo, %eax
Intel : mov eax, [foo]

* 메모리 참조 : 메모리 주소를 참조할데에는(indexing, indirection) AT&T와 Intel에서 표기법상 약간의 차이가 있다. base 주소와 index, scale, immediate 값이 주어졌을 때 :

AT&T : section:immed32(base, index, scale)
Intel : section:[base + index * scale + immed32]

이는 base + index * scale + immed32 주소를 나타내게 된다. 이들 모두를 반드시 지정해야 하는 것은 아니지만 immed32나 base 중의 하나는 반드시 지정해야 하며, 없는 항목은 비워두어도 된다. 주소 지정의 예로, eax 레지스터가 가리키는 주소의 값을 참조하는 경우 :

AT&T : (%eax)
Intel : [eax]

eax 레지스터에 변수(var)의 옵셋을 합한 주소를 참조하는 경우 :

AT&T : var(%eax)
Intel : [eax + var]

4바이트 단위로 된 정수 배열(int array[])의 eax번째 값을 참조하는 경우 (int array[eax]) :

AT&T : array(, %eax, 4)
Intel : [eax * 4 + array]

위 배열에서 ebx 인덱스에서 시작하여 eax번째 값을 참조하는 경우 (int array[ebx + eax]) :

AT&T : array(%ebx, %eax, 4)
Intel : [ebx + eax * 4 + array]

* jump/call/return : long jump나 long call에서는 다음과 같은 차이가 있다 :

AT&T : ljmp/lcall $section, $offset
Intel : jmp/call far section:offset

far retrun의 경우 :

AT&T : lret $stack-adjust
Intel : ret far stack-adjust

* 그밖에 : AT&T Assembler에서는 여러개의 section을 지원하지 않는다. UNIX 프로그램에서는 모든 프로그램이 하나의 section에 있다고 생각을 한다.


2. Inline Assembly
inline assembly는 high-level 언어로 된 코드 중간에 넣어서 사용하는 어셈블리 코드로, GCC에서 사용하는 inline assembly는 __asm__()안에 들어가며, 네가지 항목으로 이루어져 다음과 같은 형식으로 사용한다.

__asm__(어셈블리 문장 : 출력 : 입력 : 변경된 레지스터);

각 항목은 콜론(':')으로 구분되며, 어셈블리 문장은 반드시 들어가야 하지만, 뒤의 세 항목은 필요에 따라서 넣거나 생략할 수 있다. 각 항목은 다음과 같은 의미를 가진다.

* 어셈블리 문장 (assembly statement) : AT&T 형식으로 만들어진 어셈블리 코드로 "" 안에 넣어서 작성하며 각각의 줄은 newline으로 구분된다.
* 출력 (output) : 어셈블리 코드에서 출력용으로 사용하는 레지스터/메모리를 변수와 연결시켜준다. 여러개를 지정할 수 있으며 각 항목은 쉼표(',')로 구분된다. 각 항목은 "=g"(var)같은 형식을 가진다.
* 입력 (input) : 어셈블리 코드에서 입력으로 사용하는 레지스터/메모리를 변수와 연결시켜준다. 여러개를 지정할 수 있으며 각 항목은 쉼표(',')로 구분된다. 각 항목은 "g"(var)같은 형식을 가진다.
* 변경된 레지스터 (registers-modified 또는 clobbered regisers) : 어셈블리 코드에서 컴파일러가 모르는 사이에 바뀔 수 있는 레지스터의 목록을 기술한다. 각 항목은 "" 안에 들어가며, 여러개의 항목을 넣을 때에는 쉼표(',')로 구분한다. 메모리에 있는 변수의 값을 수정하는 경우 "memory"라고 기술해주어야 한다.

예제 코드를 보면 :

__asm__ ("pushl %eax\n"
"movl $1, %eax\n "
"popl %eax"
);

이 코드는 eax 레지스터를 저장하고 여기에 1을 입력했다가 eax 레지스터를 원래의 값으로 복구하는 코드이다. 여기서는 아무런 입력이나 출력이 없으며, 변경되는 레지스터도 없으므로 어셈블리 코드만 존재한다. 이제 i라는 변수를 하나 증가시키는 코드를 만들어보자.

int i = 0;

__asm__ ("pushl %%eax\n"
"movl %0, %%eax\n"
"addl $1, %%eax\n"
"movl %%eax, %0\n"
"popl %%eax"
: /* no output variable */
: "g" (i)
);

우선 이 코드에서 모든 레지스터 앞에 %가 두개가 붙어있는데, 입력이나 출력, 변경된 레지스터 중의 하나라도 기술을 하는 경우, 레지스터 이름에는 %를 하나가 아니라 두개를 붙여야 한다. 이는 내부에서 입출력을 나타내는데 %0, %1 같은 기호를 사용하는데, 이것과 혼동되는 것을 막기 위해서이다. 이 코드에서는 출력이 없으므로 출력은 비워 두었다. 입력에는 "g"(i)라고 적혀 있는데, 이는 i라는 변수를 %0과 연결시켜주는 역할을 한다. 즉 코드내에서 %0은 변수 i와 같은 의미로 사용된다. 따옴표 안에 있는 것은 변수와 어떤것이 연결되는지를 말하는데 g는 이경우 컴파일러가 알아서 레지스터에 넣던지 메모리에 두던지 하라고 지시하는 것이다. 따옴표 안에는 다음과 같은 것을 지정할 수 있으며, 그 의미는 다음과 같다.

a eax
b ebx
c ecx
d edx
S esi
D edi
I 상수 (0에서 31) ("I"라고 사용하는게 아니라 "0" 처럼 숫자를 넣어서 사용)
q eax, ebx, ecx, edx 중 동적으로 할당된 레지스터
r eax, ebx, ecx, edx, esi, edi 중 동적으로 할당된 레지스터
g eax, ebx, ecx, edx 또는 메모리에 있는 변수. 컴파일러가 선택
A eax 와 edx를 결합한 64-bit 정수
m 정적 메모리 위치
f floating point register

입력에서 여러개를 기술하면, 기술한 순서대로 차례로 %0, %1, ... 의 이름을 갖게 된다. 출력에도 무언가 기술한 경우, 출력부터 시작하여 차례로 %0, %1 ... 의 이름을 갖는다. 출력이 있는 예로 :

int x = 1, x_times_5;

__asm__ ("leal (%1, %1, 4), %0"
: "=r" (x_times_5)
: "r" (x)
);

위 코드는 x라는 변수를 다섯배 곱하여 x_times_5에 저장하는 것이다. (%1, %1, 4) = %1 + %1 * 4 = %1 * 5, lea는 주소를 저장하라는 명령이므로 %0에 %1을 다섯배한 값이 들어가게 된다. 여기서는 결과를 저장해야 하므로 출력에 "=r"(x_times_5)라고 출력되는 변수를 지정하였다. 따옴표안에 =가 들어가는 것은 출력임을 나타내기 위해서이다. 이 코드를 조금 수정하여 x를 다섯배 곱하여 자기 자신인 x에 이 값을 넣는다면 :

__asm__ ("leal (%1,%1,4), %0"
: "=r" (x)
: "0" (x)
);

여기서 입력에 "0"이라고 숫자로 썼는데, 이는 앞에서 지시한 것을 다시 가리키는 경우로, 여기서는 %0과 똑같은 것이라는 것을 말한다. 순서에 따라 출력 "=r"은 %0, 입력 "0"은 %1이 되는데, 자기 자신에게 결과를 돌려주어야 하므로, 이 둘이 같은 것이라는 것을 나타내기 위해 %1은 "0"이라고 하여 %0과 같은 것이라고 지시해주는 것이다. 그래서 이 코드는 x를 다섯배를 곱하여 결과를 자기 자신에서 돌려주게 된다. 다음은 입출력을 같이 하는 예로 k = i + j를 한다면 :

int i = 1, j = 2, k;

__asm__ __volatile__ ("pushl %%eax\n"
"movl %1, %%eax\n"
"addl %2, %%eax\n"
"movl %%eax, %0\n"
"popl %%eax"
: "=g" (k)
: "g" (i), "g" (j)
);

순서에 따라 k = %0, i = %1, j = %2가 되고, %1 + %2를 %0에 저장하므로 k에는 i + j 값이 들어가게 된다. 여기서 __asm__ 다음에 __volatile__이라는 지시자가 있는데, 이는 이 코드를 지정한 위치에 그대로 두라는 것이다. 컴파일러는 최적화(optimization)를 하는 과정에서 코드의 위치를 옮길 수 있는데 이를 막는 것이다.

#define rep_movsl(src, dest, numwords) \
__asm__ __volatile__ ( \
"cld\n" \
"rep\n" \
"movsl" \
: \
: "S" (src), "D" (dest), "c" (numwords) \
: "%ecx", "%esi", "%edi" \
)

위 코드는 src에서 dest로 지정한 길이만큼 복사하는 것이다 (C의 memcpy() 함수). 이 코드를 실행하면 ecx, esi, edi 레지스터가 바뀌므로, 마지막에 변경된 레지스터 목록에 이 세개를 지정해주었다.

#define rep_stosl(value, dest, numwords) \
__asm__ __volatile__ ( \
"cld\n" \
"rep\n" \
"stosl" \
: \
: "a" (value), "D" (dest), "c" (numwords) \
: "%ecx", "%edi" \
)

위 코드는 이전 코드와 비슷한 예로 dest의 지정한 길이만큼을 지정한 value로 설정하는 것이다 (C의 memset() 함수). inline assembly 안에서 local label도 사용할 수 있는데, 지정하는 방법은 일반 label과 똑같이 하지만, 이를 참조할 때에는 label이 앞에 있느냐, 뒤에 있느냐에 따라 b (backward), f (forward) 접미사를 붙여준다.

__asm__ ("" \
"0:\n" \
"jmp 1f\n" \ # jump to label 1: forward
"1:\n"\
"jmp 0b" \ # jump to label 0: backward
);


A. Reference

* Linux Assembly HOWTO :
o 영문판 : http://linuxdoc.org/HOWTO/Assembly-HOWTO.html
o 한글판 : http://kldp.org/HOWTO/Assembly-HOWTO
* Brennen's Guide to Inline Assembly :
o http://www.delorie.com/djgpp/doc/brennan/brennan_att_inline_djgpp.html
* DJGPP QuickASM Programming Guide :
o http://www.castle.net/~avly/djasm.html
* x86 Assembly Language FAQ :
o http://www.faqs.org/faqs/assembly-language/x86/
* GCC Manual (GCC Inline Assembly) :
o http://gcc.gnu.org/onlinedocs/gcc_toc.html
* GAS Manual :
o http://www.gnu.org/manual/gas-2.9.1/as.html

INTEL to AT&T ASM

아나, 꼭 안보다가 볼 때 ... 이런...
GCC Inline Assemble code 도 올려놔야겠다... -_-; 에이씨...

[INTEL]
mov ax, word[msg]
mov ax, 1
mov ah, 1
mov word [ds:si], ax
mov ah, 'a'
int 0x13
jmp 0x1000:0000

msg db 'M'
msg db 0x10, 0x20
dw 0aa55h
times 100 db 0

[AT&T]
movw msg, %ax
movw $1, %ax
movb $1, %ah
movw %ax, %ds:(%si)
movb $'a' , ah
int $int13
ljmp $0x1000, $0

msg: .byte 'M'
msg: .byte 0x10, 0x20
.word 0xaa55
.space 100, 0

일기 (2007.12.11)

:: 23억 기부하고 아내한테 3만원 빌려쓰는 남자

<배한성의 아주 특별한 인터뷰> 고학 제자 위해 23억 기부, 경희대 한승무 교수
http://news.msn.co.kr/article/read.html?cate_code=1200&article_id=200712101808591200

▶ 미래에 대한 계획이다보니 계획에 차질이 생기는 경우도 생길 수 있지 않을까요?
물론 제가 건강이 안 받쳐 주어서 일을 못하는 경우를 제외하고는 그런 경우가 없고요.
제가 우스운 표현으로 “수류탄에 왜들 놀랠까? 핵폭탄도 남아 있는데...” 하는 말을 하는데요.
이것은 제가 확보된 부분에 대한 것에 불과하기 때문에 앞으로 지켜보시면 더 놀라실 일들이 많을 겁니다.

▶ 힘들고 불투명한 미래에 대해 힘들어하는 젊은이들에게 어떤 말을 해주고 싶으신가요?
저는 ‘열정’이라는 단어와 ‘믿음’이라는 단어를 제일 좋아하는데요.
어려운 학생들을 보면 정말 사방이 다 막혀도 희망의 끈을 붙들고 열정을 가지고 된다는
강한 의지만 갖고 있다면 길이 열린다고 봅니다. 저도 다 막혀서 길이 안 보였을 때도
정말 열심히 그런 마음으로 사니까 길이 열리고 더 좋은 길이 나타났기 때문에,
어떤 환경에 있든지 조금 더 그런 열정으로 최선을 다한다면 지금은 앞이 안보여도
미래에 좋은 길들이 다 열릴 겁니다.


...
부럽다...
내가 비록 지금은 경제적으로 능력이 안되지만,
언젠가는 나도 내가 잘 되면 이렇게 남을 도와 주며 살고 싶다...

Regards,
godmode2k

일요일, 11월 11, 2007

:: Crysis 영상

오... 오... 오... 라는 말 밖엔...

http://betagam.gameshot.net/zboard/data/crysis/332222.JPG





윈도우 XP에서도 DX10 기술 구동 가능. DX10은 윈도우 비스타를 팔기 위한 홍보 수단일 뿐

http://www.gpgstudy.com/forum/viewtopic.php?topic=14312
http://ruliweb.empas.com/ruliboard/read.htm?main=online&table=game_online&page=1&num=9679


Epic Games에서 언리얼 엔진의 렌더링 코드를 담당하고 있는 Andrew Scheidecker는 다음과 같이 말하였다.

DX10 은 MS의 윈도우 비스타 마케팅 수단일 뿐입니다. MS는 현재 잘 사용되고 있는 OS인 윈도우 XP를 윈도우 비스타로 이동해야 할 명목이 "전혀" 없기 때문에 그 명목을 억지로 만들기 위한 수단으로 게이밍 시장에 DX10라는 명목을 내세운 거의 억지에 가까운 사기 마케팅을 펼치고 있습니다.

이 DX10라는 건 원래는 WGF(Windows Graphics Foundation) 2.0이란 이름으로 나올 예정이었고 윈도우 XP의 DX9와 동일한 버전으로 WGF 1.0이란 이름으로 예정되었으나 윈도우 비스타의 홍보 수단을 위해서 WGF 2.0을 DX10로 바꾸고 WGF 1.0은 DX9.0L이란 이름으로 바꾸고 출시하게 됩니다.

DX10(정확하게는 Direct3D 10)은 개선된 구조와 DX9 시절에 비해서 좀 더 효율적인 처리들을 내포하여 여러가지 향상이 있지만 본질적으로 크게 다른 것은 아닙니다. 이 변화는 DX8에서 DX9로의 변화에 비한다면 미미한 정도라고 볼 수 있습니다. 게다가 이 것은 기술적으로 윈도우 비스타를 꼭 필요로 할 이유가 "전혀" 없음에도 MS는 윈도우 비스타를 팔아먹기 위해 이러한 정책을 펼치고 있는게 개발자로서 보기에 매우 우스울 뿐입니다. MS는 DX10의 "10"이라는 숫자를 통해서 뭔가 대단한 변화가 있는 것처럼 소비자들을 유혹하는 것일 뿐입니다.

현재 많은 사람들이 착각을 하고 있는 점 중에 하나가 DX10이 그래픽적으로 큰 혁신을 가져올거라는 생각인데 사실상 그렇지는 않습니다. DX9에서 DX10로의 그래픽적 기술의 변화는 그래픽스 하드웨어의 Shader Model 버전의 지원 여부인데 DX9.0c가 Shader Model 3까지 지원하며 DX10는 이번에 Nvidia에서 출시한 GeForce 8 시리즈에서 최초 탑재된 Shader Model 4를 지원합니다. 윈도우 비스타의 DX9.0L 모드는 Shader Model 3까지만 지원합니다.

결국 DX10와 DX9의 그래픽적 기술의 차이는 API 차이가 아닌 Shader Model 4와 Shader Model 3의 차이로 새로 출시되는 그래픽스 하드웨어가 새로운 Shader Model 버전을 탑재하고 나온 것의 차이라고 볼 수 있습니다. 윈도우 비스타를 사용하고 DX10을 사용한다고 해도 Shader Model 4를 지원하는 그래픽스 하드웨어를 가지고 있지 않다면 그래픽적으로 아무런 변화를 볼 수 없는 것입니다.

이번 Shader Model 3에서 Shader Model 4로의 발전은 그 향상의 폭이 Shader Model 1에서 Shader Model 2로의 발전만큼이나 큰 폭의 변화는 없지만 Shader Model 2에서 Shader Model 3로의 변화보다는 소폭 향상점이 있습니다. Vetrex Shader 유닛과 Pixel Shader 유닛의 통합과 새로운 Geometry Shader가 많은 향상을 가져다 줄테지만 아직 Shader Model 4의 하드웨어는 출시 초기이고 솔직히 이 것을 사용한다고 해도 그래픽이 외형적으로 Shader Model 3를 사용한 게임에 비해서 크게 향상되는 것은 아닙니다. 게다가 이 것이 어느정도의 향상점을 보이고 단지 보여주기 위한 데모가 아닌 게임에 제대로 활용되기 위해선 앞으로 2년정도는 후에야 가능할 것입니다. 현재 DX10을 내세워서 광고하고 있는 몇몇 게임들도 사실은 DX10의 Shader Model 4로 큰 이득을 보는 것은 아니고 그저 홍보성의 일면으로 활 용될 뿐입니다. 하지만 새로운 하드웨어가 새로운 기능을 탑재하고 나오는 것을 활용해 주는 것은 매우 좋은 일입니다.

현재 MS는 Shader Model 4의 지원을 위해서 윈도우 비스타 전용의 DX10만을 고집하고 있고 이미 많은 사람들이 거기에 동요된 듯 하지만 간과해서는 안될 중요한 것이 한가지 있습니다. 그 것은 그래픽스 API는 Direct3D만 있는게 아니라 OpenGL도 있다는 것입니다.OpenGL 2.x는 Shader Model 4를 지원해 줍니다. 이미 OpenGL 2.1버전에서 Shader Model 4의 새로운 Geometry Shader를 완벽하게 지원해 주며 OpenGL Extension을 통해서 새로운 하드웨어의 모든 기능을 지원할 수 있습니다.

그리고 이 것은 윈도우 비스타를 요구하지 않으며 윈도우 XP에서 DX10에서 지원할 수 있는 모든 것 이상의 기능을 제공할 수 있습니다.

만 일 당신이 Shader Model 4를 지원하는 새로운 GeForce 8 시리즈의 하드웨어나 그 이후에 나올 Nvidia나 ATi의 차기 하드웨어를 구입했다고 가정해 봅시다. 그러나 당신은 윈도우 비스타를 구입하지 않았습니다. 당신은 윈도우 XP를 쓰기 때문에 당신이 산 하드웨어의 Shader Model 4를 게임에서 맛 볼 수 없다면 정말 어처구니 없는 일일 것입니다. MS는 지독하리만치 비열합니다. 그 들의 내부 개발사들은 당연하고 많은 퍼스트 파티와 써드 파티에게 PC용 게임을 윈도우 비스타 전용으로 내 줄 것을 강요하고 있습니다. 이 것은 소비자에게나 개발사에게나 크나큰 손실입니다. MS는 윈도우 비스타를 팔기 위해 이런 어처구니 없는 정책을 펼치려 하고 있습니다.

이런 어처구니 없는 정책을 방지하기 위한 수단으로 우리는 OpenGL 2를 완벽히 지원합니다. 현재 언리얼 엔진 3는 DX10도 완벽지원을 하도록 업그레이드 했지만 우리는 여전히 윈도우 XP 유저들도 많다는 것을 알고 있습니다. 그 들이 게임을 위해서 무리하게 돈을 지출하여 윈도우 비스타를 구입 할 필요가 없이도 Shader Model 4 하드웨어의 장점을 완전히 활용할 수 있게 만들어 주기 위해 언리얼 엔진 3는 OpenGL 2.x를 통해서 DX10 이상의 기술들을 모두 지원해 줍니다. 조만간에 발매될 언리얼 토너먼트 2007은 DX9와 DX10도 지원하지만 윈도우 XP에서도 OpenGL 2를 통해서 Shader Model 4 하드웨어를 완벽히 구동하여 DX10로 돌린 것과 다를바 없는 아니 오히려 OpenGL의 Extension을 활용하여 DX10보다 약간 더 나은 기술을 제공할겁니다. 우리는 MS의 이런 정책을 매우 달갑게 여기지 않습니다. 때문에 언리얼 엔진 3를 사용하는 모든 게임들은 OpenGL 2.x를 통해 DX10 지원 이상의 Shader Model 4 하드웨어를 지원해 줄 것입니다.

뿐만 아니라 언리얼 엔진 3를 사용하지 않는 개발사들의 게임들과 게이머들을 우리는 얼마 후 열릴 GDC 2007에서 OpenGL 2의 Shader Model 4 지원해 대해서 논의할 것이며 OpenGL 2의 Shader Model 4 사용법을 논문으로 공개해 될 수 있으면 많은 개발사들이 MS의 억지스러운 횡포에 휘둘리지 않고서도 윈도우 XP에서도 Shader Model 4를 지원할 수 있도록 할 것입니다.

결론

1. DX10는 MS의 윈도우 비스타의 판매를 촉진하기 위한 사기에 가까운 홍보 수단이다.

2. DX10와 DX9의 기술적인 그래픽의 차이는 결국 그래픽 카드가 Shader Model 4를 지원하느냐 Shader Model 3를 지원하느냐의 차이일 뿐이다.

3. Shader Model 4와 Shader Model 3의 발전으로 그래픽의 차이는 생각보다 크지 않다. Shader Model 1에서 Shader Model 2로의 발전이 가장 컸었다.

4. Shader Model 4를 구동하기 위해 꼭 윈도우 비스타의 DX10을 사용할 필요는 없다. 윈도우 XP의 OpenGL 2가 있으며 OpenGL 2를 통해서 Shader Model 4를 완벽히 지원 가능하다.

5. 언리얼 엔진 3는 윈도우 XP 유저들을 결코 버리지 않을 것이다. 언리얼 엔진 3는 DX10도 완벽 지원하지만 윈도우 XP에서도 OpenGL 2와 OpenGL Extension을 통해서 DX10 이상으로 Shader Model 4를 완벽히 지원해 준다. 언리얼 엔진 3를 사용하는 모든 게임들이 해당사항이 된다.

6. 언리얼 엔진 3를 사용하지 않는 개발사들도 OpenGL 2를 통해서 윈도우 XP에서 Shader Model 4를 지원할 수 있게 하기 위하여 언리얼 엔진 3에 사용된 OpenGL 2 렌더링 기술을 문서화하여 공개할 예정이다.

[CV][CG] 컴퓨터그래픽스 추천 서적

:: 컴퓨터그래픽스 추천 서적 목록
http://www.neatware.com/lbstudio/web/hlsl.html


0) Preface

The following list is primarily intended as a study guide for graduate students (masters or PhD) who intend to do research in the area of computer graphics. Computer graphics has involved into a fairly mature field so that a decent foundation is required before good research can be done. The list gives several books that I would recommend to read. There are many different types of books and it is sometimes difficult to pick the right one. Personally, I prefer to start reading books that are less formal, more redundant and give a good intuitive understanding of a topic. These type of books might be criticized for being too easy and not rigorous enough. However, if your background is computer science, it might be hard to understand advanced mathematical texts at the beginning. I believe it is much more efficient to read the simple introduction first. Then, after you have a good initial understanding, you might get bored with introductory books and favor books that are concise, in depth and include a rigorous and complete treatment of a topic. Additionally, it is important to consider that even the simple books require a decent mathematical foundation.

Constructive comments and feedback is appreciated. Peter Wonka - May 2006.

1) Computer Graphics Text Books

1.1) Basic Text Books

There are several interesting text books that can be used as introduction to Computer Graphics. These books cover the topics of an introductory undergraduate class in computer graphics:

* Hearn, Baker. Computer Graphics with OpenGL.
The book has many nice illustrations, but is fairly long and not very concise. I currently use this book for the undergraduate class in computer graphics.
* Shirley. Fundamentals of Computer Graphics.
This book is more concise and formal and covers more advanced topics.

1.2) OpenGL

Most computer graphics programs in research use OpenGL. OpenGL is also typically covered in the first introductory undergraduate class:

* OpenGL Architecture Review Board, Dave Shreiner, Mason Woo, Jackie Neider, Tom Davis.
OpenGL(R) Programming Guide : The Official Guide to Learning OpenGL(R), Version 2 (5th Edition) (Paperback)

1.3) Real-time rendering

The main book in this area is

* Tomas Moeller, Eric Haines. Real-Time Rendering (2nd Edition)

The book is very ambitious and covers many topics in the area of real-time rendering and also related topics from other areas. I think this book is one of the best books to read after reading an introduction to Computer Graphics. The disadvantage is the fact that several topics are not described in sufficient detail to be understandable from the book. However, the book does a very good job to reference important research papers in most areas for further study Other interesting books in real-time rendering are the GPU GEMS. These books are collected articles about various topics that use graphics hardware. The advantage is that articles are easier to read than average research papers and the articles often include source code for vertex shader and pixel shader.

* GPU Gems 2 : Programming Techniques for High-Performance Graphics and General-Purpose Computation (Gpu Gems)
Matt Pharr, Randima Fernando;
* GPU Gems: Programming Techniques, Tips, and Tricks for Real-Time Graphics
Randima Fernando

1.4) Physically-based rendering

I use the following two texts for the graduate graphics class:

* Pharr and Humphreys. Physically-based Rendering.
This book is a good introduction to global illumination, focusing on ray tracing. The book includes source code and includes many detailed explanations. I think it is a great introduction to global illumination and ray tracing, because it is detailed enough to convey advanced concepts, but still easy to read.
* Dutre, Bekaert, Bala. Advanced Global Illumination.
This book is more concise, shorter and it seems to be more complete. It is definitely harder to read as an introduction, because it includes a many formulas.

2) Mathematics

To sell research ideas and to be precise in the description of what you are doing, it is important to read a lot of math. Starting with a good foundation in calculus and linear algebra you can then proceed to more advanced topics. Again, this list focuses on books that are understandable by computer science graduate students with decent mathematics background.

2.1) Calculus

* James Steward. Calculus.
This basic book is not extremely formal. Most of this information is typically covered in undergraduate classes.

2.1.1) Vector Calculus

* Schey. Div, Grad, Curl, and All That: An Informal Text on Vector Calculus
This is a great little book that gives a good overview. The book can be read really quickly.

2.2) Linear Algebra

* Gilbert Strand. Linear Algebra and Its Application.
This is one of my favorite books. I would recommend it to any PhD student in computer graphics.

3.4) Signal Processing

* Bracewell. The Fourier Transform and Its Application.
This text focuses on the continuous Fourier transform. I really like this book, because it includes many images and explains the Fourier transform without too many simplifications. I found that most computer graphics books do not present the Fourier transform in sufficient depth. This is understandable due to space constraints, but the Fourier transform is essential for several topics in computer graphics, most importantly aliasing and anti-aliasing. I would recommend that text to all PhD students in computer graphics. Read at least the first eight chapters.

3.3) Wavelets

* Jensen and la Cour Harbo. Ripples in Mathematics.
This book is a very simple introduction to the topic. The first 70 pages give an excellent intuitive understanding of wavelets using simple examples and almost no formalism. It is possible to gain a lot of intuitive insight into the topic and spend only an afternoon.

3.5) Differential Geometry

* O'Neill. Elementary Differential Geometry.
If you work with curves, and surfaces, this book is a good introduction. Discrete computations on triangle meshes are not really covered, so this book is only the basis.
* Do Carmo. Differential Geometry of Curves and Surfaces.
This book is more formal and complete.

3.6) Other Topics

There are many other topics of interest, such as statistics, monte-carlo statistical methods, curves and surfaces, and calculus of variations. Book recommendations in these areas are future work.

3) Related Areas

3.1) Computational Geometry

Computational Geometry covers topics such as spatial data structures (quadtrees, kd-trees, bsp-trees, ...) and geometric algorithms such as triangulation that are often used in computer graphics. I would recommend the book

* Computational Geometry
Mark de Berg, Marc van Kreveld, Mark Overmars, Otfried Schwarzkopf

3.2) Image Processing

* Digital Image Processing (2nd Edition)
Rafael C. Gonzalez, Richard E. Woods.
This book is fairly easy to read and covers most basic topics in image processing.

3.3) Computer Vision

Computer vision and computer graphics share many interesting problems and in the recent past conference papers included components from computer vision and computer graphics. I would recommend the book:

* Computer Vision
Linda G. Shapiro, George C. Stockman, George Stockman, Linda G Shapiro

화요일, 11월 06, 2007

원더걸스 "Tell Me" 동영상

말이 필요없음... 일단 한번 보자... ^^*

8. 마지막으로 따라해보자! 노란후드티 아가씨의 텔미 안무 동영상!!
http://serviceapi.nmv.naver.com/flash/NFPlayer.swf?vid=1DC25901FC0061D16BFF231E17F531B10E29&outKey=63c4c2b2389a00d3ee01706ee3cd6955950169839a4f2e3090d12353b411ae19bd00b3d30a6193cde80eeac4b9903a9a




이건 정말 중독이군...

ps. 2007.10.7 special intro parts dance ver.
direct view : http://flvs.daum.net/flvPlayer.swf?vid=5F0nxJy8ba4$





출처:
http://cafe.naver.com/ozcity.cafe?iframe_url=/ArticleRead.nhn%3Farticleid=54

인터넷에 떠도는 뮤직비디오부터 TV프로그램에서 방송된 방송본, 안무동영상까지 한번에 모아봤다.
누구라도 원샷에 귀여운 원더걸스 동영상을 쉽게만나보길 바래요 ^^*

1.원본 뮤직비디오. 솔직히 원본 뮤직비디오는 그다지..감흥 제로.
바로보기 : http://flvs.daum.net/flvPlayer.swf?vid=L9Nxz6J0USo$
링크 : http://tvpot.daum.net/clip/ClipView.do?clipid=4580422

2. MBC HD
바로보기 : http://dory.mncast.com/mncHMovie.swf?movieID=10015786520070922175633&skinNum=1
링크 : http://narsis.tistory.com/190

3. SBS HD
바로보기 : http://flvs.daum.net/flvPlayer.swf?vid=ba7p9JRuXns$
링크 : http://tvpot.daum.net/clip/ClipView.do?clipid=4685511

4. KBS HD
바로보기 : http://eq.freechal.com/flvPlayer.swf?docId=134704&serviceId=QT00
링크 : http://qtv.freechal.com/Movie/QTVMovieView.asp?docid=134704

5. 뮤직비디오 + SBS 스페셜
링크 : http://tvpot.daum.net/clip/ClipView.do?clipid=4686980

6. 뮤직비디오 + SBS 스페셜2 (프로필판)
링크 : http://tvpot.daum.net/clip/ClipView.do?clipid=4685213
개인적으로 랩하는 맏언니 두번째 아이가 너무 좋아!! 김유빈 88년 10월4일생!! +_+
담백하게 생겨서 맘에 든다~ 거기다 임수정필의 삐친머리까지..
아~ 중독이야

7. 박진영의 안무시범까지.. 박진영도 좋아! 저 유연한몸..내가가지지못한... ㅠ.ㅠ
바로보기 : http://flvs.daum.net/flvPlayer.swf?vid=QuzEeAE87LA$
링크 : http://tvpot.daum.net/clip/ClipView.do?clipid=4680105

8. 마지막으로 따라해보자! 노란후드티 아가씨의 텔미 안무 동영상!!
바로보기 : http://serviceapi.nmv.naver.com/flash/NFPlayer.swf?vid=1DC25901FC0061D16BFF231E17F531B10E29&outKey=63c4c2b2389a00d3ee01706ee3cd6955950169839a4f2e3090d12353b411ae19bd00b3d30a6193cde80eeac4b9903a9a
-------------------------
ps. 2007.10.7 special intro parts dance ver.
direct view : http://flvs.daum.net/flvPlayer.swf?vid=5F0nxJy8ba4$

일요일, 10월 14, 2007

저널링(Journalling)과 ReiserFS

다시 읽어봐도 좋은 내용이 많군...

Over time, this kind of "I'll code around the problem" approach
encourages code bloat and lots of incompatible special-purpose APIs,
which isn't a good thing.

아직도 이런 부분이 많지? ;)

"I'll code around the problem" 정신상태로 작업하는 이들이여...
모두 정신 차리시라... lol



Common threads: 고급 파일시스템 개발자 가이드
저널링(Journalling)과 ReiserFS
[한글] http://www-128.ibm.com/developerworks/kr/linux/library/l-fs.html
[영어원문] http://www.ibm.com/developerworks/library/l-fs.html



저널링(Journalling)과 ReiserFS

Daniel Robbins
President/CEO, Gentoo Technologies, Inc.
2001년 6월

Linux2.4에 ReiserFS, XFS, GFS와 같은 새로운 파일시스템 기능이 추가되면서 기대를 모으고 있다. 이러한 파일시스템들은 분명 훌륭한 것들이다. 하지만 실제로 그것의 기능과, 어떤 부분에서 효율적으로 사용되는지, 또한 Linux 제품 환경에서 안전하게 사용할 수 있는 방법에 대해서는 정확히 모른다. Daniel Robbins는 Linux 2.4에 새롭게 향상된 파일시스템을 설치하는 방법을 설명한다. 또한 유용한 구현 방법, 성능 관련 정보 및 중요한 기술적인 사항들을 설명하여, 새로운 파일 시스템의 경험이 가능한 즐거운 일이 될 수 있도록 할 것이다. 특히 저널링(Journalling)과 ReiserFS의 장점을 설명한다.

개요
이 글에서는 ReiserFS, XFS, JFS, GFS, ext3와 같은 Linux의 다양하고 새로운 파일시스템을 소개할 것이다. 파일시스템을 사용하는 데에 실질적으로 필요한 지식을 전달하고 싶다. 가능한 한 중요한 실수를 피하는 방법에 대해서도 설명하겠다. 이를 위해 파일시스템의 안정성, 퍼포먼스 문제, 부정적인(negative) 애플리케이션 상호작용, 최상의 커널/패치 조합 (combination) 등을 주의 깊게 살펴볼 것이다. 이 글이 차세대 파일시스템에 대한 지침서의 역할을 해 줄 것이라고 기대한다.

우선 이 글을 어떻게 구성할 지에 대해 설명하겠다. 나는 Linux 개발 커뮤니티에 있어서 매우 중요한 두 가지 주제인 저널링과 ReiserFS을 설명하려 한다. 저널링이 중요한 이유는 꽤 오랫동안 예견해오던 기술이고 결국 지금 우리 눈앞에 펼쳐져 있기 때문이다. 저널링 기술은 ReiserFS, XFS, JFS, ext3, GFS에서 사용된다. 저널링의 정확한 기능과 Linux에 저널링이 필요한 이유를 아는 것은 중요하다. 이 글을 통해 내가 기대하는 것은 저널링을 완벽히 이해하는 차원을 넘어 다른 사람들에게도 이러한 기술을 설명할 때 훌륭한 지침서의 역할을 하는 것이다. 더 나아가서 전 세계의 부서와 조직에서 새로운 저널링 파일시스템으로 변경할 때 실제 적용 사례로 작용할 수 있기를 기대한다.

이 글의 후반부에는 ReiserFS에 대해 살펴볼 것이다. 이쯤 되면 여러분은 새로운 파일시스템 기술로 인해 기존의 것이 좀 더 빠르게 향상되었음을 의미하는 것이 아니라는 것을 알게 될 것이다. 다시 말해서 이전에는 가능하지 않았던 방식으로 어떤 일을 할 수 있게 되었다는 것을 의미한다. 새로운 파일시스템의 기능은 코드 작성 방법이나 향후의 Linux 소프트웨어 개발 프로젝트의 방식에도 영향을 미칠 것이다.

저널링 이해하기:meta-data
여 러분도 잘 알다시피 파일시스템은 데이터를 저장하고 검색하고 처리하기 위해서 존재한다. 이를 위해서 파일시스템은 모든 데이터가 조직화 되고 액세스가 가능한 상태로 되어있는 내부 데이터 구조를 가지고 있어야 한다. 그 내부 데이터 구조 (문자 그대로 "데이터에 대한 데이터") 를 meta-data라고 한다. meta-data 의 구조는 파일시스템에 특정한 구분과 퍼포먼스 특징을 부여한다. .

일반적으로 우리는 파일시스템의 meta-data에 직접적으로 관여하지 않는다. 대신 특정 Linux 파일시스템 드라이버가 그러한 일을 대신한다. Linux 파일시스템 드라이버는 meta-data의 미로를 처리하기 위해 특별히 만들어졌다. 하지만 파일시스템 드라이버가 적절하게 작업을 수행하기위해서는 한가지 중요한 조건이 있다. 파일시스템 드라이버는 합리적이고 일관성이 있으며 손상되지 않은 상태의 meta-data를 찾을 수 있어야 한다. 그렇지 않으면 파일시스템 드라이버는 meta-data를 인식하거나 처리 할 수 없고 따라서 우리들도 파일에 액세스 할 수 없다.

저널링 이해하기:fsck
이 제 fsck에 대해 알아보자. Linux가 부팅 될 때, fsck도 시작하게 되며 시스템의 /etc/fstab 파일에 있는 모든 로컬 파일시스템을 검사한다. fsck는 마운트 될 파일시스템의 meta-data가 사용할 수 있는 상태인지를 확인하는 역할을 한다. 대부분의 경우 사용할 수 있는 상태일 것이다. Linux가 종료되면 이것은 조심스럽게 모든 캐시 데이터를 디스크에 저장하고 파일시스템이 정확하게 언마운트(unmount) 되었음을 확인한다. 그래서 시스템이 다시 시작될 때 사용할 준비가 되는 것이다. 일반적으로 fsck는 마운트 될 파일시스템을 검사하고 그것이 정확히 언마운트 되었다는 것을 확인하고 모든 meta-data가 정상이라는 판단을 내린다.

하지만, 갑작스러운 정전 또는 시스템 다운과 같은 변수가 생기기 마련이다. 이런 "불행한" 상황이 발생하면 Linux는 파일시스템을 완벽하게 언마운트 할 수 없다. 시스템이 재 부팅되고 fsck가 검사를 시작하면 파일시스템이 완전히 언마운트 되지 않았음이 밝혀지고 아마도 Linux 파일시스템 드라이버는 파일시스템을 볼 수 없다는 결론이 나온다. 아마도 meta-data가 어떠한 경로에서 뒤죽박죽 되었을 가능성이 크다.

이러한 문제를 풀기위해 fsck는 meta-data를 세밀하게 검사하고 정상성 점검(sanity check)을 수행한다. 그래서 그 경로에서 발견된 에러를 수정한다. 일단 fsck가 완료되면 파일시스템은 사용할 준비를 갖추게 된다. 비록 최근에 변경된 데이터 일부를 잃었을지라도 meta-data는 다시 정상적인 상태가 되었기 때문에 파일시스템은 마운트되어 사용할 수 있게 된다.

fsck의 문제점
이 러한 fsck의 방식은 파일시스템의 일관성(consistency)을 확인하는데 있어서 괜찮은 방법인 것 같다. 하지만 최적의 솔루션은 아니다. 문제는, 파일시스템의 일관성을 확인하기 위해서 fsck가 파일시스템의 전체 meta-data를 검사해야 한다는 데에 있다. 모든 meta-data에 대해 완벽한 일관성 체크를 한다는 것은 그 자체로 시간 낭비이며 완료하는데 최소한 수분이 걸린다. 게다가 좀 더 큰 파일시스템일 경우 소요 시간은 더욱 길어진다. 이것은 매우 큰 문제이다. 왜냐하면 fsck가 작동하는 동안 Linux 시스템이 사실상 오프라인 상태이고 방대한 분량의 파일시스템 이라면 fsck 작동은 30분 이상 걸리기 때문이다. 따라서 표준 fsck 작동은 시스템 가동시간(uptime)이 매우 중시되는 미션 크리티컬한 데이터 센터 환경에 엄청난 결과를 초래할 수 있다. 좀 더 나은 솔루션이 있다.

저널(journal)
저 널링 파일 시스템은 저널이라고 하는 새로운 데이터 구조를 추가함으로써 이러한 fsck 문제를 해결한다. 이 저널은 on-disk 구조이다. 파일시스템 드라이버가 meta-data에 어떠한 변경을 가하기 이전에 어떤 일을 할 것인지에 대한 내용을 저널에 기록한다. 그 다음 meta-data를 수정하게 된다. 그렇게 함으로써 저널링 파일시스템은 최근의 meta-data 수정사항의 로그를 유지하며, 이는 특히 올바르게 언마운트 되지 않은 파일시스템의 일관성을 검사해야 할 경우에 유용하다.

저널링 파일시스템은 데이터(stuff)와 meta-data(stuff에 대한 데이터)를 저장하는 것은 물론 meta-meta-data(stuff에 대한 데이터에 대한 데이터)를 호출할 수 있는 저널도 갖추었다고 생각하면 된다.

저널링의 기능
그 렇다면 fsck는 저널링 파일시스템을 어떻게 처리할까? 실제로, 아무것도 하지 않는다. fsck는 간단히 파일시스템을 무시하고 이것이 마운트 되도록 한다. 파일시스템을 일관성 있는 상태로 빠르게 복원할 수 있었던 마법은 Linux 파일시스템 드라이버에서 찾을 수 있다. 파일시스템이 마운트되면 Linux 파일시스템 드라이버는 파일시스템이 정상인지의 여부를 점검한다. 그렇지 않을 경우 meta-data는 고정되어야 하며 meta-data를 검사하는 대신 저널을 살핀다. 저널은 최근의 모든 meta-data 변경 로그를 순차적으로 포함하고 있기 때문에 최근에 변경된 meta-data 부분만 검사하면 된다. 그래서 몇 초안에 파일시스템을 일관성 있는 상태로 되돌릴 수 있다. fsck와 같은 기존의 접근방식과는 다르게 저널 리플레잉 프로세스(journal replaying process)는 대용량의 파일시스템인 경우에도 시간이 많이 걸리지 않는다. 이 저널 덕분에 수백 기가의 파일시스템 meta-data는 거의 동시에 일관성 있는 상태로 돌아올 수 있다.

ReiserFS
이제 ReiserFS에 대해 알아보도록 하자. 우리가 앞으로 연구해야 할 저널링 파일시스템 중에서 가장 먼저 연구해야 할 대상이다. ReiserFS 3.6.x (Linux 2.4에 포함되어 있음)는 Namesys의 Hans Reiser와 그가 이끄는 팀이 개발하였다. 그들은, 최상의 파일시스템이란 애플리케이션이 좀 더 직접적이고, 효율적이며 강력하게 상호 작용할 수 있는 단일 공유 환경(single shared environment) 또는 namespace의 구현을 도와주는 것이라는 철학으로 뭉쳤다. 이를 위해서 파일시스템은 퍼포먼스와 기능에 대한 사용자의 요구를 충족시켜야 한다. 그러한 방식으로 사용자들은 파일시스템 상에서 실행하는 특별한 목적의 레이어를 구현하는 대신 지속적으로 직접 파일시스템을 사용할 수 있다.

작은 파일(small file) 퍼포먼스
파 일시스템을 좀 더 효율적으로 만들려면 어떻게 해야 할까? Namesys는 파일시스템의 한 부분에 초점을 맞추기로 했다. 즉 작은 파일(small file) 퍼포먼스 이다. 일반적으로 ext2와 ufs와 같은 파일시스템은 이 분야에 있어서는 장점이 없다. 따라서 개발자들이 필요로 하는 퍼포먼스를 얻기 위해 데이터베이스를 사용하거나 또는 특정한 방식의 해킹을 통해 해결할 수 밖에 없었다. 오랜 세월동안 이와 같이 "문제에 대한 코드를 작성한다 (I'll code around the problem)" 식의 접근방식은 코드만 많아지게 하고 호환되지 않는 특별한 목적의 API만을 만들 뿐이다.

ext2가 그러한 종류의 프로그래밍을 어떻게 유발하는지에 대한 예제도 있다. ext2는 많은 20k 바이트대의 파일을 저장하는데 유용하다. 하지만 2,000개의 50-byte 파일을 저장하는 데에는 이상적인 기술이 아니다. ext2가 아주 작은 파일을 다루어야 할 때 퍼포먼스는 급격히 떨어지게 되고 ext2가 하나 또는 4개의 k chunk (파일시스템이 만들어질 때 설정할 수 있음)에 공간을 할당하기 때문에 저장 효율성 또한 떨어진다.

파일시스템에 작은 파일을 많이 저장해서는 안된다는 것이 일반 상식이다. 대신 파일시스템 위에서 실행되는 일종의 데이터 베이스에 저장해야 한다고 알고있다. 하지만 Hans Reiser는 파일시스템의 상단에 레이어를 빌드해야 할 때마다 파일시스템은 여러분의 필요를 충족시키는 것은 아니라고 말한다. 파일시스템이 여러분의 필요를 충족시켰다면 그때는 첫 단계에서 특별한 목적의 솔루션을 사용하지 않아도 된다. 따라서 여러분은 개발시간을 줄이고 코드가 늘어나는 것을 방지할 수 있게 된다.

이론은 이렇다. 하지만 실제로 ReiserFS의 작은 파일 퍼포먼스는 어떠한가? 놀랍도록 좋다. 사실 ReiserFS는 1 k 사이즈보다 작은 파일을 핸들링 할 때 est2 보다 8배에서 15배 정도 더 빠르다. 더욱이 이러한 퍼포먼스 향상은 다른 파일 유형때문에 퍼포먼스를 희생하지 않아도 된다. 일반적으로 ReiserFS는 여러모로 ext2보다 훨씬 뛰어나지만 그 중에서도 특히 작은 파일을 핸들링 할 때 빛을 발한다.

ReiserFS 기술
그 렇다면 ReiserFS의 작은 파일 퍼포먼스가 어떠한지 살펴보자. ReiserFS는 모든 파일시스템 데이터를 조직화하기 위해서 특별히 최적화된 b* balanced tree (파일시스템 당 한개) 를 사용한다. 이것은 그 자체로 훌륭한 퍼포먼스를 제공하고 파일시스템 레이아웃에 대한 제한을 없앤다. 이제 100,000 개의 다른 디렉토리를 한 디렉토리 안에 포함 할 수 있다. b* tree 를 사용할 때의 또 다른 장점은 ReiserFS는 파일시스템을 구현할 때 고정된 inode 세트를 만드는 대신에 필요할 때마다 inode를 할당할 수 있다는 것이다. 이는 다양한 저장에 대한 요구에 파일시스템이 유연하게 반응할 수 있고 동시에 몇 가지 추가적인 공간 효율성도 가능해진다.

ReiserFS는 작은 파일 퍼포먼스를 향상시킬 수 있는 주요 기능도 가지고 있다. ext2와는 다르게 ReiserFS는 고정된 1k 또는 4k 블럭으로 저장 공간을 할당하지 않는다. 대신 필요할 때마다 정확한 사이즈를 할당할 수 있다. 그리고 ReiserFS는 파일시스템 블록 보다 작은 파일과 파일의 끝 부분을 위한 이름인 tail 주변에 집중된 특별한 몇몇 최적화를 포함한다. 퍼포먼스를 늘리기 위해서 ReiserFS 파일시스템은 디스크 어딘가에 있는 데이터를 저장하고 그것을 지목하기 보다 없는 b*tree leaf node 내부에 파일을 저장할 수 있다.

이것은 두 가지 일을 한다. 첫째, 이것은 작은 파일 퍼포먼스를 획기적으로 향상시킨다. 파일 데이터와 stat_data(inode) 정보가 각자의 오른쪽 옆에 저장되기 때문에 그들은 일반적으로 한 번의 디스크 입출력 작업으로 판독될 수 있다. 둘째, ReiserFS는 tail들을 함께 패킹 할 수 있다. 게다가 많은 공간도 절약된다. 사실 tail 패킹이 가능한(디폴트) ReiserFS 파일시스템은 같은 ext2 파일시스템보다 6%정도 더 데이터를 저장 할 수 있다. 얼마나 놀라운 일인가?

하지만 tail 패킹은 미미한 퍼포먼스 히트를 유발한다. 왜냐하면 파일이 변경될 때 ReiserFS로 하여금 데이터를 다시 패킹 하도록 하기 때문이다. 이러한 이유로 인해서 ReiserFS tail 패킹은 꺼지고 관리자가 속도와 공간 효율을 택할지 저장 용량을 희생하고 속도를 선택할 지 결정할 수 있도록 한다.

ReiserFS는 훌륭한 파일시스템이다. 다음에는 Linux 2.4에 ReiserFS의 세팅 과정을 설명하겠다. 또한 퍼포먼스 튜닝, 애플리케이션 상호작용, 최고의 커널등에 대해 자세히 살펴보도록 하겠다.

참고자료

* discussion forum on this article by clicking Discuss at the top or bottom of the article. --> Namesys Web page : ReiserFS에 대한 자세한 정보

* ReiserFS mailing list : ReiserFS 정보 제공. ReiserFS mailing list archive 참조

* Linux Gazette Journalling Filesystems : UFS, ext2, ReiserFS의 meta-data 차이점 심층 연구

* Jedi's ReiserFS/Qmail tuning page : qmail 사용자를 위한 정보제공. ReiserSMTP(qmail 컴포넌트 컬렉션)

* Linux Weekly News: 최신 커널 개발 소식
*
* JFS Overview : developerWorks, Steve Best

* JFS fundamentals tutorial : developerWorks.

* Linux 참고자료 : developerWorks.

* Open source 참고자료 : developerWorks.

필자소개
Daniel Robbins는 Gentoo Technologies, Inc.의 회장/CEO이고, Gentoo Project의 핵심 설계자이며, Caldera OpenLinux Unleashed, SuSE Linux Unleashed, Samba Unleashed의 저자이다.

일기 (2007.10.13)

hmm...
I've seen the movie what "Copying Beethoven" at theater today,
and i've felt pretty impression.
Indeed... :)

But, i've felt lacking in last scene and had had wants more and more...
How do you think ?

I've had feel the lack of make an expression what more impressive scenes,
life of Beethoven and his passion, within 1 hour 40 minutes.

Actually, i love him and his music. but i've hadn't understand all of his music.

Yea, i've had looking forward to watching his movie.
Anyhow, i had had happy what its make an impress me during watch his movie and i've.

Regards,
godmode2k


---
hmm, Use this as a makeshift.

월요일, 10월 01, 2007

Prank Video: Hotel Reservation

:: hehehe... enjoy this prank video! ;)

Anyway this video made me fucking cry!

"I am a joke to you whitedevil?!, Why you fucking laugh.
I come there i fuck you in the ass!"

"SPELL MY NAME"

"MOTHERFUCKER U SPELL WRONG!"

http://www.youtube.com/watch?v=CKCS_CnzDuo