2007년 12월 6일 목요일

#5 69 Sixty Nine

 

한마디로 너무 좋았던 책. 잊고 있었던 반항의 감정, 즐거움에 대한 갈구를 꿈틀거리게 한다.

친구가 추천해서 '제목이 왜이래'라는 생각으로 읽게 되었다. 책을 끝낼 즈음에야, 참 작가 다운 제목이구나 하는 생각. 그리고 참 잘 지었다는 생각.
방황하는 청춘에게 추천하고 싶다!!

아, 그리고 영화도 보고 싶다.
















즐겁게 살지 않는 것은 죄다.

나는 내게 상처를 준 선생들을 아직도 잊지 않고 있다.
그들은 정말로 소중한 것을 내게서 빼앗아 가버렸다.
유일한 복수 방법은, 그들보다 즐겁게 사는 것이다.

지겨운 사람들에게
나의 웃음소리를 들려주기 위한 싸움을.
나는 죽을 때까지 결코 멈추지 않을 것이다.


- 무라카미 류 '식스티나인' 中 -


2007년 10월 14일 일요일

하드링크와 심볼릭링크

링크(Link)
도스나 윈도 사용자에게는 낯선 개념인데, 유닉스나 리눅스 파일 시스템에서 실제 파일이나 디렉토리 혹은 다른 링크를 가리키도록 연결해 준다는 의미이다. 윈도의 '바로 가기' 단축 아이콘을 연상할 수도 있지만, 바로 가기나 단축 아이콘이 단순히 파일 관리자가 담당하는 기능인 반면, 리눅스의 링크는 파일 시스템 차원에서 제공된다는 근본적인 차이가 있다. 링크에는 소프트(Soft) 링크와 하드(Hard) 링크 가지가 있는데, 일반적으로 링크라 함은 소프트 링크를 말한다.


심볼릭
링크(Symbolic Link)

심볼릭 링크는 소프트(Soft) 링크라고도 하는데, 윈도의 바로 가기 기능과 유사하다. 특정 디렉토리의 파일을 다른 디렉토리에서 실행하려면 파일에 대한 절대경로를 이용해 명시하거나 파일을 사용할 디렉토리로 복사해야만 한다. 이럴 경우 윈도에서는 바로 가기 기능을 이용해 원본 파일의 위치에 대한 정보를 가진 단축 아이콘을 만들어 편리하게 사용할 있다. 심볼릭 링크 역시 파일의 불필요한 반복적 복사를 방지하여 파일 시스템을 유연하게 활용하거나 여러 디렉토리에서 동일한 라이브러리를 요구할 경우, 같은 파일을 여러 사람이 공통으로 관리하면서 사용할 경우, 비슷한 역할을 담당하는 여러 가지 파일들 하나를 선택하여 대표적으로 사용하려 유용하게 있다. 소프트 링크에서는 원본 파일이 삭제되면 링크는 사용할 없게 된다.

e.g.

ln -s test.txt hello.txt

hello.txt 파일은 아무 내용이 없고 파일을 호출하게 되면 test.txt 파일로 연결을 해주는 역할을 한다. 이런 심볼릭 링크의 경우 원본(test.txt) 파일을 삭제 하게 되면 hello.txt 파일은 연결이 끊어져 허공을 가리키게 된다.


하드
링크(Hard Link)

소프트 링크가 단순히 원본 파일에 대한 정보만을 가지고 있는데 비해 하드 링크는 원본 파일을 복사한 다음 이의 사본을 생성한다는 차이가 있다. 소프트 링크와 마찬가지로 링크로 접근하거나 원본으로 접근하여 파일의 내용을 수정하였다면 원본과 하드 링크된 파일이 모두 수정되어 항상 같은 내용이 유지된다. 소프트 링크는 원본이 삭제될 경우 링크를 사용할 없지만, 하드 링크는 원본이 삭제되어도 원본과 동일한 내용의 파일을 가지고 있으므로, 자원을 공유하면서도 데이터를 안전하게 관리하고자 주로 사용된다.

e.g.

ln test.txt hello.txt

-s 옵션을 빼고 링크명령을 내리게 되면 hello.txt 파일이 하드링크로 생성된다. 위에서는 hello.txt 파일이 test.txt 파일을 가리키고 있었지만 이번에는 hello.txt 라는 파일명은 test.txt 다른 이름이 된다 이런 경우 원본인 test.txt 파일을 지우더라도 hello.txt 파일은 내용을 간직하고 있다.

2007년 10월 6일 토요일

#4 외딴방 (신경숙)

소설가 신경숙

· 1963년 전북 정읍 출생

· 1984년 서울예술전문대학 문예창작과 졸업

· 1985년 ‘겨울우화’로 [문예중앙] 신인상 공모에

· 당선되어 문단에 데뷔

· 1993년 오늘의 젊은 예술가상 수상

· 1996년 <외딴 방>으로 제 11회 만해문학상 수상

· 1997년 ‘그는 언제 오는가’로 제 28회 동인문학상 수상

· 대표작

· <외딴방>문학동네, <풍금이 있던 자리>문학과지성사,

· <바이올렛>문학동네,

· <부석사-2001년 제25회 이상문학상 수상작품집>문학사상사,

· <종소리>문학동네



외딴방은 자전적 소설로서 신경숙 본인의 16세부터 19세까지의 경험과 현재를 넘나들며 얘기되고 있다. 두가지 큰 갈래는 외딴방에 관한 것과 본인의 글쓰기에 대한 고민이다. 독자로서의 아이러니는 화자의 글쓰기적 고민이 이 소설을 더 문학적으로, 예술의 경지로 느껴지게 한다는 것이다. 물론 이런 효과를 노리고 쓰여진 것이라 생각된다.
글쓰는 사람이 되고 싶다는 생각을 하던 시절이 있다. 시도 쓰고 산문도 써보았다. 나의 생각을 글이라는 도구로 옮긴다는, 나만이 나만의 표현을 쓸 수 있다는 왠지 모를 뿌듯함(그런데 커서 보니 나만 그런 표현과 생각을 한건 아니었다), 그리고 그렇게 해서 널리 읽혀진다는 생각에 혼자 흐뭇해 하던 시절이다. 이런 생각이 한번 좌절을 겪은건 고등학교 때이다. 존경하는 국어선생님께서 시를 특히 심도있게 가르쳐 주셨는데, 그때 나는 안되겠구나 하는 생각이 들었다. 시는 함축성을 가진 글이다. 단어 하나가 어떤 뜻을 가지고 있는지 작자는 충분히 알고 면밀한 계산후에 그 표현을 써야한다. 내가 모르는 한글 단어들이 얼마나 많던가. 원태연 알레르기를 읽고 이렇게 내키는 대로 쓰면 되겠구나 했던 생각이 부끄러웠다.
두번째로 좀 더 진지하게 좌절하게 된 건 외딴방을 읽고 나서 이다. 시는 아니더라도 산문은 쓸 수 있겠지 생각하던 나였다. 전공 서적이 아닌 누구나 읽기 쉽고,... 솔직히 말해 잘팔리는 글을 써보고 싶었다. 내 이름 한번 날려볼 수 있을까 싶어서. (나의 완벽증도 하나의 요인이었으리라.) 하지만 외딴방을 읽고, 글쓰기를 신성시 해야겠다. 고 생각한다. 작가는 뼈를 깍는 고민을 반복하며 글을 뱉어낸다. 그런 글을 내가 그냥 쓴다고 하는 건 오만이다. 할 수 있다고 생각하는 것 자체가 오만이며 글쓰기에 대한 모독이겠다는 생각이 들었다. 나의 전공 분야에 대한 책을 쓰겠다는 생각은 여전히 있다. 그러나 그것은 책이지 문학은 아닐 것이다. 내가 할 수 없는 것에 이렇게 확신을 한게 또 언제였던가. 아직 나를 너무 모르고,... 겸손이 부족하다.

기억에 남는 글귀들..
어디서든지 가던 길을 멈추고서 처음으로 돌아가려고 하는 나의 습성이 때로는 삶을 벗어난 허영인지도 모른다는 생각도 같이 든다.

항상 순수하게 살아야 겠다고 다짐했던 때가 있다. 하지만 때에 따라 타협하며 결국 지금의 모습까지 흘러왔다. 타협한 순간부터 이미 난 그때의 날 배신한 게 아닐까. 이제와서 찾는 것도 우습거니와 사실 돌아가고 싶은 생각도 없다. 이대로 속물같이 사는게 더 편하다고 확신해 버리는 나다. 한편으로 나와 같은 생각을 지닌 사람이 있다는 것에 안심하는 나다. 이대로도 괜찮다고 생각하게 되기 때문일까?


오늘, 나에게 가장 뚜렷한 현재인 오늘

매일 같은 곳에서 바라보았던 하늘이 있다. 그때는 나와 하늘만이 있고, 그리고 우리 둘 사이에선 나만이 중요했다. 그 하늘을 보면서 특별한 일이 생긴 것도 아닌데, 아직도 그 장면만 생각하면 오금이 저린다. 좀 더 오래 생각하면 눈물이 날 것만 같다. 빨간 홍시 같던 태양을 지칠 때까지 바라보고 끊임없이 되뇌고 약속하였다.  그 시절엔 그순간이 뚜렷한 현재 였는데, 지금은 어떠한가. 나의 열정은 나를 따라오고 있는지. 나는 어느 순간에 살고 있는지. 나의 심장은 뛰고 있는지.

2007년 9월 15일 토요일

Circuit Switching

Switching의 대표적인 세가지 방식인 Circuit Switching, Packet Switching, 그리고 Message Switching 중 하나이다. 회선교환이라는 말로 번역된다. 패킷교환과는 달리, 한회선(circuit, 또는 channel)을 통신이 시작할때 부터 끝날때까지 점유하고 통신하는 방식을 말한다. 그래서 이 회선을 dedicated circuit(전용회선)이라고도 한다. 기본적으로 다음의 세단계를 통해 이루어진다.


1. Set up: 전용회선을 준비하는 단계이다. 예약의 개념으로 보면 된다. 일단 set up하고 나면 그 회선은 다른이에 의해 사용될 수 없다. 그 회선의 예약이 풀리고(release) 원하는 다른 이를 위해 준비(set up)이 되어야 사용될 수 있다.

2. Transfer: 정보를 보내는 단계이다. 패킷은 연결이 끊날 때 까지 연속적으로 보내지지 않을 수 있다. 그러나 노드 사이에 패킷이 이동되지 않는 동안에도, 연결은 끊기지 않는다.

3. Disconnect: 데이터 통신을 끝내고, 연결을 끊는 단게이다.


회선 교환은 전송 전 연결(또는 set upt)하는데에 시간이 걸린다. 그러나 일단 연결이 되면 끊어지지 않는 이상(예를 들어 물리적인 회선 절단) 패킷을 순서적으로, 빨리 보낸다는 장점이 있다. 네크워크 망에 전용연결을 위한 여유가 있어야 하고, 처음 연결할 때 효율적인 경로로 해야한다는 부담이 있다. 주로 voice communication, multimedia communication 같은 실시간 통신에 사용된다.

http://en.wikipedia.org/wiki/Circuit_switching

2007년 9월 9일 일요일

[펌]Alan M. Turing

찰스 배비지, 폰 노이만으로 이어지는 컴퓨터 선구자 명단에 빠진 이름이 하나 있다. 비운의 천재 수학자 앨런 튜링(Alan M Turing)이다. 누락 이유는 두 가지. 세계대전과 냉전 속에서 재능과 업적이 비밀로 묶인데다 동성연애자라는 굴레에서 벗어나지 못한 탓이다.

튜링은 2% 부족한 학생이었다. 어려운 수학문제를 푸는 특출한 재능이 있었지만 필체가 엉망인데다 단순계산은 자주 틀렸다. 말도 더듬었다. 두각을 나타난 것은 케임브리지 킹스칼리지 시절. 인도에 근무하던 부모의 귀국으로 출생(1912년 런던) 후 처음으로 온전한 가정의 울타리에서 지내면서부터다. 원시적 컴퓨터 ‘튜링 머신’을 만든 것도 이 무렵이다.

학계의 주목을 받은 그는 아인슈타인 등 당대의 석학들이 모여 있던 미국 프린스턴대학의 초청을 받아 박사과정을 마쳤다. 원자탄과 현대 컴퓨터의 개척자 노이만이 공동연구를 종용했으나 모교로 돌아온 게 1938년. 곧 이어 터진 2차 대전에서 그는 수학으로 조국을 구했다. 독일의 암호체계 ‘에니그마’를 해독한 것. 불침함이라던 비스마르크호의 격침도 그의 암호해독으로 가능했다. 최초의 컴퓨터 ‘콜로서스’도 만들었다. 영국이 비밀로 부치는 통에 ‘에니악’에 공식적인 ‘최초의 컴퓨터’자리를 내줬지만.

전후 인공지능 연구에 열중하던 그는 1952년 나락으로 떨어졌다. 동성애가 발각됐기 때문이다. 형벌은 중성화. 지속적인 여성 호르몬 투입은 마라톤 풀코스를 2시간46분3초에 완주했던 강건한 신체를 변화시켰다. 가슴이 부풀어 오르고 둔부가 퍼지자 화학적 거세를 자각한 그는 에덴 동산에서 쫓겨난 아담에 심정으로 사과를 집어들었다. 1954년 6월7일 청산가리를 주입한 독사과를 베어먹고는 영면(永眠). 42세 나이였다.


출처: 서울경제

Turing Machine 튜링머신

http://blog.naver.com/jkjang46?Redirect=Log&logNo=40002003851

2007년 8월 23일 목요일

#2 화차(火車)

화차
자주가는 까페 언니가 추천해주신 책. 그때 그 언니는 미야베 미유키의 다른 소설을 읽고 계셨다. 내가 재밌냐고 하니까 화차가 더 재밌다면서 추천해주셨다. 처음 '화차'라는 들었을 때 꽃으로 꾸며진 마차를 떠올렸다. 마치 신데렐라가 탄 호박마차처럼, 누군가를 행복으로 데려다주는.
그러나 火車, 즉 불수레의 뜻이란 걸 알고,... 그리고 책을 일고 난 후, 제목 참 잘 지었다는 생각이 들었다. 주인공은 분명 花車(꽃수레)라고 생각하고 탔던 것이, 사실은 불수레였던 것이다. 추리소설의 형식을 띄면서 사회시사를 조명하고 있다. 드라마 '쩐의 전쟁'에서는 주인공이 돈버는 걸 재밌게 봤다면, 이 책을 통해 돈 때문에 인생이 비참해진 사람들의 이야기로 몸서리를 쳤다. 신용불량, 개인파산이 남의 이야기가 아니라는 것을 절실히 느꼈다. 왜냐하면 신용불량자들을 사회의 불량품으로 보면서도, 나 스스로는 대출을 쉽게 생각했기 때문이다. 마음 약하고 성실한 사람들이 오히려 신용불량자가 되기 쉽다는 말을 이해한 다음부턴, 돈을 더 무서워 해야겠다는 생각을 했다. 물론 예뻐하기도 해야겠지.
속도감 있게 읽었다. 주인공에 대한 두려움과 연민이 동시에 느껴졌다. 같은 여자라 그런걸까.
 

2007년 8월 22일 수요일

#1 이기는 습관(Winning Habit)

이기는 습관 표지


오랜만에 책을 읽고 내가 달라져야 겠다는 생각을 했다. 미국 다녀와서, 목표는 있지만 무리해서 그렇게까지 되고 싶진 않다... 라고, 어떻게보면 패배자의 마인드를 갖고 있었다. 열심히 하는 건 좋지만 잠을 못자고, 몸이 망가지면서, 한마디로 폐인이 되면서 까지는 되고 싶지는 않다고 말이다. 이 책을 읽고 난 지금도 폐인처럼 살고 싶지 않다는 생각을 하지만, 내가 열심히 살고 있지도 않다는 걸 깨달았다. '조금만 더 열심히 하자'라는 생각 전혀없이, '이대로도 괜찮다'라고 생각했던 것이다. '이대로'는 목표에 다가갈 수 없다는 것을 알면서도.
마케팅에 대한 내용이 주를 이루지만, 요즘 흔히 말하는 셀프 마케팅에 비추어 봤을 때, 셀프 마케팅의 바이블로도 손색이 없다는 생각이 들었다. 본인과 타인의 이야기를 절묘하게 섞어 놓아 풍부한 설득력을 갖춘 것 같다. 보기 드물게 직접적이면서도 감동을 주는 책이었다.


기억에 남는 구절들

자신에게 명령하지 못하는 사람은, 남의 명령을 들을 수 밖에 없다.

훌륭한 프로세스의 이점
1. 신뢰 2. 효율성 3. 리스크 방지 4. 소통과 공유 5. 투명성

항상 조심할 것(한 아나운서가 한 말이었다)
1. 타성에 젖어 대충대충하는 것
2. 교만해지는 것
3. 성실하지 못한 것

그리고 공자의 명언
일생의 계획은 젊은 시절에 달려 있고,
일 년의 계획은 봄에 있고,
하루의 계획은 아침에 달려있다.
젊어서 배우지 않으면
늙어서 아는 것이 없고,
봄에 밭을 갈지 않으면
가을에 바랄 것이 없으며,
아침에 일어나지 않으면
아무한 일이 없게 된다.


그리고 이 책을 읽고 내가 실천, 고민 하고자 하는 것
1. 졸업 전까지 교양서적 50권, 전공서적 50권읽기(현실적으로 바꿈)
2. 항상 1분 이내에 자기PR할 수 있도록 하기
3. 10년 후 나의 자화상은 어떤 모습이겠는가?

이 책을 첫번째로, 졸업전까지 100번째 독후감을 쓰게 되길 바란다.

2007년 7월 24일 화요일

Arm Linux Kernel 분석 - Context Switching

이 글은 Context Switching에 대한 기본적인 개념이 있는 사람을 위해 작성되었습니다.

http://lxr.post-tech.com

에 가시면 lxr프로그램으로 보기쉽게 편집된 Linux 소스 파일이 있습니다.
위의 메뉴들 중에 ucos2440을 선택, 그리고 아래에 나타나는 메뉴 중 ucos>kernel을 선택하면 핵심 코드 파일들이 나타납니다. 참고로 kernel 폴더와 함께 있던 port에는 디바이스에 의존적인 코드가 들어가게 됩니다.
따라서 다른 디바이스에 이 OS를 올리고 싶을 때 이 부분만 고치면 되겠다..고 생각하면 되겠죠. :)


Priority & Scheduling

Priority & Scheduling


우선 순위는 0~63 범위 안에서 존재하고 각 태스트가 태어날 때 우선순위가 정해집니다. 임베디드 디바이스의 특성상 제한된 종류의 일을 하기 때문에 태스크의 우선순위가 바뀌는 일도, 같은 우선순위의 태스크도 없다고 봐도 무방합니다. (실제 세계에서는 다르다고 하지만요..) 우선순위 숫자가 노은 태스크가 우선순위가 높은 태스크입니다.


OSRdyTbl[]은 원소가 1byte이고 크기가 8인 배열입니다. 위 그림에서 배열의 한 행이 한 원소입니다. 

2007년 7월 22일 일요일

rpm options

1. rpm 설치 관련 옵션
1) 설치시

-ivh : 패키지 설치. 진행 과정을 # 표시로 자세히 보여준다.
ex) rpm -ivh httpd-2.0.53-3.2.i386.rpm

-Uvh : 패키지 업그레이드 설치. 진행 과정을 # 표시로 자세히 보여준다.
ex) rpm -Uvh httpd-2.0.53-3.2.i386.rpm

2) 부가 옵션

--nodeps : 위의 명령으로 패키지 설치할때 의존성 에러가 발생하면서 설치가 되지 않는경우 사용한다.
의존성 에러를 무시하고 설치할때 즉 의존성관계에 있는 다른 패키지가 설치되어 있지 않아도 강제로 설치한다.(이럴경우 설치하더라도 프로그램이 정상적으로 실행되지 않을수 있다.)
ex) rpm -ivh httpd-2.0.53-3.2.i386.rpm --nodeps

--force : 이미 같은 버젼의 패키지가 설치 되어 있더라도 무시하고 강제로 설치 한다.
ex) rpm -ivh httpd-2.0.30-3.2.i386.rpm --force



2. rpm 삭제 관련 옵션
1) 삭제시

-evv : 삭제 동안의 진행을 자세히 보여준다.
ex) rpm -evv httpd-2.0.30-3.2.i386.rpm

2) 부가 옵션

--test  : 실제로 삭제 하지 않고 삭제가 정상적으로 되는지 테스트한다.

--nodeps : 의존성에 관여하지 않고 지운다. ( 의존성을 무시하여 삭제할경우 프로그램이 정상적으로 실행되지 않을수 있다.)



3. rpm 설치된 패키지 조회 관련 옵션

-qa : 설치 되어 있는 모든 패키지를 출력한다.
ex) rpm -qa

-qa | grep "설치된패키지 관련단어" :  ""를 제외하고 관련단어를 뒤에 붙여준다. 패키지를 기존에 설치했는지 확인하고 싶을때 이용한다.
ex) rpm -qa | grep httpd

-qf : 설치되어 있는 프로그램 명령어 또는 파일이 어느 패키지에 속하는지 확인한다.
ex) rpm -qf /bin/vi

-qi : 설치된 해당 패키지에 대한 정보를 보여준다.
ex)  rpm -qi httpd-2.0.30-3.2

SSH

Secure Shell

SSH(Secure Shell)은 네트워크 상의 다른 컴퓨터에 로그인 하거나 원격 시스템에서 명령을 실행하도록 해주는 프로토콜 또는 응용 프로그램이다. 취약한 보안성을 가진 기존의 rsh, rlogin, TELNET을 대체하기 위해 설계되었다. public-key 암호화 방식을 사용하여 데이터의 신뢰성과 보전성을 보장한다. 이것은 사용자가 원격접속할 컴퓨터를 신뢰할 수 있는지, 혹은 원격 컴퓨터가 사용자를 신뢰할 수 있는지 여부를 확인한다. 또한 모든 메세지를 암호화하여 통신하기 때문에 메세지가 노출된다 하더라도 암호를 해독하기 위한 key쌍이 없으면 해독이 불가능하다.
기본 포트로는 22번을 사용한다.



SSH가 어떻게 public-key 암호기법을 사용하는가?

첫번째로, 한쌍의 암호키가 생성된다. 하나는 private key, 다른 하나는 public key이다. private key는 말 그대로 개인열쇠, public key는 자물쇠로 생각될 수 있다. 자물쇠는 원격 컴퓨터에 설치되고 SSH가 사용자를 식별할 때 사용된다. 다른 사용자가 자물쇠를 보든, 복사를 하든 걱정할 필요 없다. 왜냐하면 오직 쌍으로 생성된 개인열쇠만이 그 자물쇠에 맞기 때문이다. 개인열쇠에 대한 정보는 가상의 비밀상자에 들어있고 이 비밀상자를 열때는, 처음에 사용자가 지정한 비밀번호를 사용하면 된다. (한마디로, 사용자는 자물쇠나 개인키가 어떻게 생겼는지 궁금해 할 필요없다.) 비밀번호와 비밀열쇠에 대한 정보는 사용자의 컴퓨터에 전혀 남지 않는다. 열쇠와 자물쇠는 비대칭 암호 작성법으로 결합된다.
private key는 개인키, public key는 공개키로 불리기도 한다.


출처 : 위키백과

Windows에서 Linux 접속하기.

1. PuTTY 다운받기(한글)
(무엇의 약자 인건지... 스펠이 좀 신기함)
다운받아서 설치후 실행하면 다음의 실행화면이 나타납니다.



2. 호스트이름에는 접속하고자 하는 주소를 입력합니다.
SSH 프로토콜을 사용하여 접속할 것입니다. 기존에 많이 쓰던 Telnet은 보안상의 이유로 SSH로 대체되고 있습니다. SSH는 기본적으로 22 포트를 지원합니다. (SSH에 대한 더많은 이야기)
주소를 입력한 후 열기 버튼 클릭.



3. 계정아이디와 패스워드를 넣으면 끝~
지금 접속한 컴은 실험용이라 계정이 root밖에 없으나, 관리자가 아닌 일반 사용자를 위해선 당연히 다른 계정을 만들어 줘야 겠죠. 계정은 간단한 리눅스 명령어로 만들 수 있습니다. (리눅스 명령어 보기)