336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
■ 리눅스 디렉토리 구조

□ / (root)
- 마운트 되는 리눅스 파일 시스템이 있는 최상위 디렉토리
- 시스템의 근간을 이루는 가장 중요한 디렉토리
- 파티션 설정 시 반드시 존재하여야 함
- 절대경로의 기준이 되는 디렉토리
    ※ 절대경로 - / 디렉토리 기준   예) /usr/local
       상대경로 - 현재 작업 디렉토리 기준 예) ./local

□ /bin
- 리눅스의 기본 명령어(binary)들이 들어있는 디렉토리
- 시스템을 운영하는데 기본적인 명령어들이 들어 있음.

□ /sbin
- 시스템 관리에 관련된 실행 명령어들이 들어있는 디렉토리
- 시스템 점검 및 복구 명령, 시스템 초기 및 종료 명령 등 시스템 관리에
   관련된 실행파일들 존재.

□ /lib
- 프로그램들이 의존하고 있는 라이브러리 파일들 존재.
- /lib/modules : 커널 모듈 파일들 존재.
- 대부분의 라이브러리들은 링크로 연결되어 있음.

□ /proc
- 시스템에 대한 정보를 제공하는 가상 파일 시스템.
- 커널의 어떤 기능을 제어할 수 있는 역할을 가지고 있음.
- 대부분 읽기 전용이나, 일부 파일중에는 쓰기가 가능한 파일이 존재
   하는데 이러한 파일들에 특정 값을 지정하면 커널 기능이 변하게 됨.
- 이 디렉토리 내에 있는 파일을 cat 명령을 이용하여 보면 시스템 정보를
   확인 할 수 있음.
   예) 인터럽트 정보 확인 ---> cat /proc/interrupts

□ /etc
- 시스템 환경 설정 파일이 있는 디렉토리
- 네트워크 관련 설정파일, 사용자 정보 및 암호정보, 파일 시스템 정보,
   보안파일, 시스템 초기화 파일등 중요 설정 파일들의 위치한 디렉토리
- /etc/CORBA : Common Object Request Broker Architecture (COBRA)에
                관한 파일이 들어있음.
- /etc/X11 : 엑스 윈도우 설정에 관련된 파일들이 있음.
- /etc/cron.d : crontab 명령의 설정파일이 있음.
- /etc/cron.daily : 매일 작동하게 하는 crontab 스크립트 파일이 존재.
- /etc/gnome : GTK+ 정의파일들이 있음.
- /etc/httpd : 아파치 웹 서버의 설정 및 로그파일이 있음.
- /etc/logrotate.d : logrotate 설정 파일들이 있음.
- /etc/mail : 센드메일과 관련된 파일이 있음.
- /etc/ppp : ppp 설정에 관련된 파일들이 있음.
- /etc/profile.d : 쉘 로그인 하여 프로파일의 실행되는 스크립트에
                    대한 정의가 있음.
- /etc/rc.d : 시스템 초기화와 관련된 스크립트가 존재.
- /etc/samba : 삼바에 관련된 파일들이 있음.
- /etc/security : 터미널 보안에 관련된 설정이 있음.
- /etc/skel : 새로운 사용자를 추가할 때 자동적으로 생성되는 디렉토리와
               파일이 있음.
- /etc/squid : squid 프록시 서버에 관련된 파일이 있음.
- /etc/ssh : secure shell 설정 파일이 있음
- /etc/sysconfig : 시스템과 네트워크 설정을 담고 있음.
- /etc/xinetd.d : 슈퍼데몬 xinetd.d의 서비스 영역을 설정하는 디렉토리.

□ /var
- 가변 자료 저장 디렉토리
- 시스템 운영중에 시스템 자료 데이터가 변경될 때 변경된 자료들이
   저장되는 곳.
- 주로 시스템 작동기록(log)들을 저장.
- /var/log : 시스템에 발생된 일들에 대한 기록 파일이 있음
- /var/named : 네임서버 설정 파일들 존재
- /var/spool/mail : 수신 메일을 사용자 명으로 기록하는 디렉토리

□ /usr
- 일반 사용자들을 위한 대부분의 프로그램 라이브러리 파일들이 위치.
- /usr/bin : 응용 프로그램의 실행 파일이 위치
- /usr/sbin : 주로 네트워크 관련 실행 명령어와 실행 데몬들을 많이
   포함하고 있음.
- /usr/X11R6 : X-window 시스템에 관련된 파일 존재.
- /usr/include : 기본 C 라이브러리 헤더 파일과 각종 라이브러리
   헤더파일들이 있음.
- /usr/lib : /usr/bin과 /usr/sbin에 있는 실행 바이너리를 실행하기 위한
   라이브러리 존재.
- /usr/src : 프로그램소스 및 커널 소스들이 보관되어 있는 곳.
- /usr/man : 매뉴얼 페이지가 담겨있는곳.
- /usr/local : 새로운 프로그램들이 설치되는 곳
    (windows의 Program Files 와 유사)

□ /mnt
- 다른 장치들을 마운트 할때 일반적으로 사용하는 디렉토리
- 다른 디렉토리를 사용하여도 됨.

□ /home
- 일반 사용자의 홈 디렉토리가 만들어 지는 디렉토리
- 사용자 계정을 만들면 게정과 같은 이름으로 새로운 사용자 디렉토리가
   /home 디렉토리의 하위 디렉토리로 생성됨.
예) test 사용자 추가 후 홈 디렉토리 확인하기.
root@test />$adduser test
root@test />$cd /home
root@test home>$ls

     test   <-- 디렉토리 생성

□ /boot
- 부팅에 핵심적인 커널 이미지와 부팅 정보 파일을 담고 있는 디렉토리
- /etc/lilo.conf에서 지정한 커널 부팅 이미지 파일이 들어 있으며 부팅시
   매우 중요한 디렉토리

□ /root
- 슈퍼유저(root) 사용자의 홈 디렉토리.
- / 와 /root 디렉토리는 부르는 이름은 같지만 서로 다름.

'Programming > Linux' 카테고리의 다른 글

Fedora8사전에서 Microsoft를 검색하면...  (0) 2008.05.26
printf를 잘 쓰자  (0) 2008.05.21
Data Types  (0) 2008.04.03
유닉스/리눅스 명령어 레퍼런스  (0) 2008.03.26
Man Page/sigaction  (0) 2008.03.26
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
글쓴이 : 임장섭 (2002년 03월 21일 오전 04:34) 읽은수: 2,250 [ 새소식 인쇄용 페이지 ]

Special Report

RISC는 임베디드에 유용한가?

하나의 프로젝트를 시작할 때 그 구성요소를 선택하는 것은 무척 어려운 결정이다. 그 중 중요한 결정 중의 하나는 RISC(Reduced Instruction Set Computer)와 CISC(Complex Instruction Set Computer) 중 하나를 선택하는 것이다. CISC는 요즘 기술이 빠르게 진보한다는 점을 가만하면 비교적 오래된 것이긴 하지만, 아직도 성능이 우수하며 CISC를 선택하는 것이 더 현명할 때도 있다.

새로운 프로젝트를 시작할 시점이라고 가정해보자. 당신은 마이크로프로세서를 선택해야 할 것이다. 32비트 프로세서가 필요하다고 결정하긴 했지만, 그 중 어떤 것인가? 100가지 이상의 다양한 32비트 임베디드 칩 중에 하나를 선택해야 한다. 따라서, 그 중 마음에 드는 몇 가지로 선택의 폭을 좁혀야 한다. 그렇다면 아마도 당신은 RISC 프로세서를 골랐을 것이다.
대부분의 프로그래머와 엔지니어들은 이렇게 말할 것이다. "요즘은 프로세서가 다 RISC 아냐?" RISC는 현대적이고 더 빠르며 더 매력적이다. 한마디로 더 호감이 간다.
그러나 최신 유행에 민감한 대부분의 엔지니어들은 인정하기 힘들지 몰라도, 10년 된 CISC 칩을 선택하는 것이 요즘 나온 RISC 칩을 선택하는 것보다 너 나을 수도 있다. 물론 항상 그런 것은 아니지만, 실제 설계자들이 느끼는 것보다는 더 자주 있는 일이다. CISC 칩은 아직도 건재하며, 대부분의 인기있는 RISC보다도 더 선호되고 있다. 모토로라와 MIPS사는 32비트 프로세서 판매에서 1, 2위를 다투고 있으며, 1998년 기준으로 각각 8,330만 개, 5,000만 개의 판매고를 기록했다. 인텔의 CISC dinosaur(68K인 것으로서)도 1,230만 개의 높은 판매량을 기록한 제품이다. CISC는 RISC라는 용어가 생기고 나서 생긴 용어다. 세계대전(Great War)이 2차 세계대전(World War Ⅱ)이란 말이 생긴 이후 1차 세계대전(World War I)으로 바뀌어 불렸듯이, CISC란 표현은 이와 반대 개념인 RISC란 용어가 생김에 따라 나오게 된 용어다.

RISC란 무엇인가?
우선, RISC란 실제로 무엇인가와 RISC가 무엇을 의미하는 지를 구분해서 알아보자.
RISC는 reduced instruction set computer의 약자로서 컴퓨터(혹은 그 내부의 프로세서)가 축약형 명령 셋을 가지고 있음을 암시한다. 그것은 CPU Lite와 같다. 당신은 RISC가 마이크로프로세서의 분해된 형태일 뿐이라고 냉소적으로 말할 수도 있다. 부분적으로는 맞는 말이다.
RISC의 개발원리는 프로세서를 완전히 분해하는 것이었다. 꼭 필요한 요소가 아니면 다 버렸다. 이것은 프로그래머의 관점에서 볼 때, 때로는 RISC 칩이 간단한 곱셈도 할 수 없다는 것을 의미한다. 그 의견은 곱셈은 단순히 반복되는 덧셈이기 때문에 ADD 명령이 충분히 좋아야 한다는 것이다.
RISC가 처음 부상하기 시작한 1980년대에 UC Berkeley와 Stanford에선 무슨 생각을 하고 있었을까? 무어의 법칙에 의해, 매달 칩 디자이너에게 4%의 하드웨어를 넣는 것은 축소를 위해 바람직하지 않은 것으로 생각했다. RISC의 기초가 되는 아이디어는 복잡한 기능은 하드웨어가 아닌 소프트웨어에서 더 효율적으로 행해진다는 것이다. 소프트웨어는 하드웨어보다 바꾸기 쉽고, 업데이트하기 쉬우며 더 빨리 만들어 낼 수 있다. 새로운 칩을 설계해서 만드는 것보다 새로운 코드를 쓰는 것이 더 빠르다. 따라서 RISC를 기반으로 하는 컴퓨터는 더 빨리 업그레이드될 수 있다. 프로그램과 알고리즘은 기록시간에서 변경되고 향상되어 진다. 무엇보다도 RISC 하드웨어는 단순화되고 능률적으로 되어가기 때문에 칩도 더 빨리 작동할 수 있다. 모두가 다 좋은 것이다.
본래의 RISC 칩은 CISC의 반대 개념으로서의 현재 RISC보다 더 작고 단순했으며 빨랐다.
68020과 80286과 같은 프로세서가 수년간 축적해 온 것들을 버림으로써 SPARC와 MIPS 같은 RISC가 만들어졌다.
클록 주파수의 측면에서 RISC는 완전한 승리자였다. 기술 잡지와 산업간행물들은 RISC의 등장을 컴퓨터의 신기원이라고 환호했다.
주위에서 가장 빠른 프로세서를 찾으라고 한다면 누구나 인텔의 펜티엄을 선택할 것이다. 이것이 당신이 구할 수 있는 가장 빠른 프로세서라는 것이 애통할 만한 일이었다. 그렇다면 SPARC는? 썬사의 워크스테이션은 현재 가장 느린 32비트 칩 중의 하나에 의해 가동되고 있다.
뭐가 잘못된 것인가? 확실히 1990년대에는 RISC를 둘러싼 과장이 많았다. RISC가 PC산업에서의 인텔의 압도적인 우세를 꺾을 마지막 기회로 보여졌기 때문에 어느 정도는 이해가 간다. 만약 RISC가 반값으로 두 배의 성능을 보여주었다면(절대 실현될 수 없는데도 종종 반복되는 주장) 확실히 전세계는 인텔과 그 독점회사들을 포기했을 것이다. RISC는 가진 것 없는 자들의 마지막 희망이었다.
동시에 RISC의 기세는 인텔을 포함한 CISC 벤더들을 자극했다. 모토로라는 68030과 68040으로 68K 제품군을 확장시켰고, x86 아키텍처는 68386과 68486으로 한 단계 나아갔다.
하지만, 하나의 예외로 인해 그들은 그렇게 할 수 없었다. 68K 프로세서는 클록 속도가 대부분의 32비트 칩보다 뒤떨어져 최대치가 남들이 세 자리 숫자일 때 66 MHz 이었다. 요즘도 대부분의 68K 프로세서는 100 MHz 이하의 속도에서만 사용할 수 있다.
이것이 CISC 프로세서의 죽음을 이야기하는가? CISC는 영원히 사장되고 마는 것인가?
그렇지 않다. 클록 속도에서는 종종 뒤쳐지지만 68K와 x86 같은 CISC 칩은 아직도 충분한 능력을 수행하고 오히려 RISC 보다 더 낫다. CISC 칩은 고려해 볼만한 가치 이상의 것이며 때론 임베디드 시스템을 위한 최고의 선택이 되기도 한다.

장점과 단점
RISC 아키텍처로 얻을 수 있는 것은 직교명령집합(orthogonal instruction set)이 있는 비교적 간단한 CPU이다. 모든 명령은 같은 길이를 가지고 있어 RAM에 깔끔하게 정렬된다. 또한 비슷하게 엔코더 되기 때문에 RISC opcode를 해체하고자 한다면 작업이 쉬워진다. 메모리에서 명령을 카운트하는 것도 쉽다. 마지막으로 RISC 명령은 거의 항상 단일 클록 사이클에서 실행되기 때문에 특정 루틴의 사이클 수를 계산할 수 있다.
RISC는 명령이나 혹은 당신이 좋아할 지도 모르는 다른 기능들이 없다. 우선 수학이 있다. 대부분의 RISC 칩에는 원래 곱하거나 나누는 명령이 없다. 그리고 대부분은 아직도 나누기를 못한다. 당신이 어셈블리 언어 프로그래머라면 축하한다. 당신은 정수를 곱하고 나누기 위해 코드 루틴을 소유하게 된다. 부동 소수점 계산은 신경 쓰지 않아도 된다. 대부분의 RISC 칩은 이 기능도 없다. 대부분의 CISC 칩에도 FPU(부동소수점처리장치)가 없지만 새로운 RISC 칩보다는 오래된 CISC 프로세서에서 더 자주 볼 수 있다.
또한 bit twiddling도 없다. 시스템에 레지스터나 다른 주변장치가 많다면 프로세서가 32 bit word보다 적은 것을 처리하지 않을 때 더 곤란해진다. 많은 RISC 설계자들은 단일 비트 구동을 명백하게 이단 시 했다. 예를 들어, 상태 레지스터(status register)에서 단일 비트를 체크하고 고정(toggle)하기 위해 당신은 프로세서로 들어가는 메모리의 전체 레지스터(그리고 그 주위 메모리 32비트 전체 혹은 I/O)를 읽어야만 한다.
정렬되지 않은 메모리 액세스는 RISC의 또 다른 골칫거리다. RISC 칩은 워크스테이션을 위해 설계되었는데, 워크스테이션에선 컴파일러가 항상 워드 경계를 따라 데이터를 정렬해 놓는다(바이트처럼). 더 작은 수는 존재하지 않거나 32비트 단어에 맞추기 위해 zero-pad된다. 임베디드 시스템에서는 좀처럼 그렇게 깔끔하지 않다.
홀수 어드레스에 저장된 32비트처럼 메모리 경계 주위를 둘러싼 숫자는 많은 RISC 칩에 접근하기 어렵다. 그들은 정렬되지 않은 연산 수를 다룰 수가 없다. 마찬가지로 24-bit 값과 같이 odd-sized quantity는 저장될 때 zero-extend 또는 sign-extended 되어야만 하므로 결과적으로 RAM을 낭비한다.
좋은 소식은 컴파일러는 이 중 어떤 것도 감지하지 못한다는 것이다. 당신이 어셈블리 언어 프로그래머라면 RISC가 곤혹스러울 것이다. 만약 당신이 컴파일러를 가지고 C나 다른 고수준(high level) 언어로 프로그램을 쓴다면 이러한 제약을 거의 깨닫지 못하게 될 것이다. 당신이 코드 밀도에 관심이 없다면 말이다.
image_view.jpg
코드 밀도
많은 임베디드 설계자들은 마이크로프로세서보다 시스템 내의 RAM과 ROM에 더 많은 비용을 소비한다. 메모리는 많은 시스템의 특성을 정의(또는 한정)한다. 마케팅은 메모리에 비용을 더 쓰기보다는 기능을 줄이고 싶어한다. 프로그래머는 메모리 예산에 코드를 맞추어야 한다.
이러한 면에서 코드 밀도는 큰 문제가 될 수 있다. 코드 밀도는 실행 가능한 프로그램이 얼마나 꽉 차 있는 지를 보여준다. 그것은 프로그램의 풋프린트이며 하나의 프로세서에서 다른 프로세서로 완전히 변한다. 이것을 경험해 보지 못했다면 당신은 컴파일된 C 프로그램은 모두 다 똑같고 어떤 칩이 실제 코드를 실행시키는 지는 중요하지 않다고 생각할 수도 있을 것이다. 이것은 큰 오산이다.
다른 칩을 위해 컴파일된 아주 똑같은 C 프로그램은 완전히 다른 메모리 풋프린트를 만들어낸다. 이것은 컴파일러의 실수나 오류가 아니다. 그것은 다른 칩보다 더 밀도가 높은 바이너리를 생산하는 몇몇 CPU 칩의 자연스런 특성이다.
그림 1은 많이 사용되고 있는 32비트 마이크로프로세서들의 코드 밀도 비교한 것이다. 그림에서 볼 수 있듯이, 차이는 절반까지 생길 수 있다. 이러한 칩들이 실제 같은 프로그램(같은 소스 코드)을 실행하고 있고 같은 결과를 가져온다고 해도 어떤 칩은 다른 칩 코드 공간의 반만 있으면 된다는 것이다.
CISC 칩의 코드 밀도가 RISC 칩의 코드 밀도보다 더 좋다는 것도 알 수 있다. RISC의 원칙 중의 하나는 모든 복잡한 기능은 다 소프트웨어에서 행해지고 하드웨어는 단순화되어야 한다는 것이다. 이는 RISC 칩이 같은 일을 하기 위해 CISC 칩보다 더 많은 소프트웨어를 필요로 할 것이라는 것을 의미한다. 대부분의 RISC 칩은 나누기 명령이 없다. 만약, 두 숫자를 나누길 원한다면 소프트웨어에서 하면 되는 것이다.
이에 대해 당신이 코드나 컴파일러에서 할 일은 없다. 컴파일러는 주어진 하드웨어 명령과 함께 일해야만 한다. 당신의 프로세서에 축약형 명령어가 있다면 컴파일러는 더 많은 소프트웨어를 만들어냄으로써 그것을 보상해 줄 것이다.

코드 압축
CISC 칩이 더 나은 코드 밀도를 가지고 있는 또 다른 이유는 그 명령이 짧아지는 경향이 있기 때문이다. 정의에 의하면, 32비트 RISC 칩은 32비트 명령을 가지고 있다. 반면 32비트 CISC 칩은 아마도 8비트, 16비트, 32비트 그리고 심지어 더 큰 명령을 갖게 될 것이다. 이것은 CISC 칩을 복잡하게 만드는 기능 중의 하나 이지만 임베디드 시스템 내에서는 더 효율적으로 만들기도 한다.
왜 당신은 명령 비트에 신경을 쓰는가? 예를 들어, 68020은 ADD 명령을 8비트 프로그램 메모리에 맞출 수 있지만 MIPS R4000은 32비트를 필요로 하기 때문에 프로그램이 두 개의 숫자를 같이 더할 때마다 이전 메모리의 3/4를 버리게 된다. 또한 MIPS 칩은 68K보다 빠른 것은 첨가할 수 없다.
최근 몇몇 RISC 벤더는 이 문제에 대한 현명한 해결책을 발견했다. 일반적으로 그 해결책은 코드 압축(code compression)이라 불리지만, 그것은 잘못된 이름이다. 아무도 PKZIP을 이용해서 코드를 압축하지 않는다. 대신에 그들은 칩의 명령 셋을 약간 바꾸어 모든 명령이 32비트 길이가 되지 않도록 한다.
이에 대한 세 가지 예가 ARM, ARC Cores 그리고 MIPS이다. 이들은 각각 Thumb, ARCompact, MIPS-16이라 불리는 비슷한 코드 압축 설계가 있다. 세 경우 모두 칩이 소수의 16비트 명령으로 그들의 32비트 명령 집합을 선택적으로 증대시킬 수 있다. 각각의 C 컴파일러는 이제 바이너리를 더 작게 만들면서 16비트 명령을 코드에 뿌릴 수 있다.
얼마나 더 작아지는 지는 여러 요인에 따라 다르다. 그리고 이미 알고 있는 바와 같이 마케팅 광고만큼은 힘들다. 실제 테스트에서 축소는 대략 20∼30% 정도이고 프로그램에 따라 다르다. 그것은 단지 코드 공간의 압축일 뿐이라는 것을 명심하라. 데이터 스토리지는 압축되지 않는다. 하지만, 코드 압축은 올바른 진보이며 RISC 아키텍처를 더욱 매력적으로 만드는 요인 중의 하나이다.
ARM Thum과 MIPS MIPS-16의 두 경우에, 당신의 코드는 32비트 모드와 16비트 모드 사이에서 확실히 스위치되어야 한다. 두 개의 명령형을 혼합할 수 없기 때문에 당신은 32비트의 명령을 사용하여 구동하는 코드에서 16비트의 동작과 함께 구동하는 코드를 분리해야 한다. 우선, 전적으로 16비트 명령과 함께 구동하는 코드 영역을 찾아야 한다.
더 짧은 명령을 위한 trade-off는 그들의 제한된 레퍼터리(repertoire)이다. 예를 들어, 16비트 코드는 인터럽트, 캐시 관리, 메모리 관리, 제외(exception) 또는 롱 점프(long jump) 등을 처리할 수 없다. 운 좋게도 Thumb와 MIPS-16 컴파일러는 이를 분류한다. ARC의 ARCompact는 두 모드 사이에서 스위치하지 않기 때문에 이 제한을 받지 않으며, 두 사이즈의 명령을 자유롭게 혼합하기 때문에 프로그램을 분리시키려고 애쓰지 않아도 된다.
IBM에서 나온 CodePack system은 임베디드 PowerPC 칩에 또 다른 방식으로 접근한다. 다른 세 개의 압축 RISC 명령어와는 달리, IBM은 PKZIP을 사용하는 것처럼 오브젝트 코드(object code)에서 실제로 실행 바이너리들을 압축한다. 이 때 컴파일되고 어셈블되고 링크된 후에 프로그램을 압축할 수 있다. 그리고 나서 압축된 것을 ROM이나 디스크에 저장한다.
임베디드 PowerPC 칩은 메모리로부터 패치될 때 명령을 푸는 별도의 하드웨어가 있다. 그림 2는 어떻게 각각의 명령이 풀리고 압축되는 지 보여준다.
첫째, 당신의 코드는 보통 오브젝트 코드 형식에서 저장되지 않았기 때문에 완전히 불가사의하다. 그 코드는 압축되었고 그것이 압축 해제를 어렵게 만든다. 코드를 보호해야 할 필요성이 있을 때엔 이것이 장점으로 작용할 것이다. CodePack은 소프트웨어를 압축해줄 뿐만 아니라 효과적으로 엔코드 해준다.
둘째, CodePack은 fly 상에서 소프트웨어를 풀어야 하는데, 그것은 가끔 보통 예상하는 것보다 시간이 오래 걸리기 때문에 재미있는 기능을 수행하기도 한다. CodePack이 장착된 PowerPC 프로세서는 branch와 jump을 처리하기가 까다로운데, 이는 branch target이 ROM에 놓여진 코드의 커다란 블록의 어딘가에 엔코드 되었을 때 위치를 정하기 어렵기 때문이다.
셋째, 각각의 CodePack 프로그램은 자신만의 압축키를 사용하기 때문에 프로그램이 다르면 압축도 다르게 된다. 이는 압축된 바이너리들이 양립할 수 없음을 의미한다. 따라서, 키가 없으면 다른 PowerPC에서 가동되지 않을 것이다.
마지막으로, CodePack은 ARC, ARM, MIPS와 똑같은 30%의 compression factor를 보증한다. 그 모든 복잡성을 감안한다면 두드러지게 좋아진 것은 아니다. 하지만, IBM은 획기적인 일을 해냈다.

RISC POWER
RISC 칩이 가지고 있는 하나의 장점은 전력소모량이다. 대개 RISC 칩은 CISC 칩보다 전력을 덜 소모한다. 이것은 명백하다. 만약 RISC 프로세서의 회로 설계가 더 단순하고 간소화되었다면 그것이 전력을 덜 소모하는 이유가 되었을 것이다. 트랜지스터가 더 적다는 것은 에너지가 덜 확장된다는 것을 의미한다.
ARM 프로세서는 전력을 적게 소모하기로 유명한데, 애석하게도 진실이 아니다. 물론 ARM 프로세서는 인텔의 486보다야 전력을 덜 소모하지만, 그것은 Hoover 댐도 마찬가지이다.
공정하게 말해서 ARM 프로세서는 전력을 덜 소모하는 편이긴 하지만, 같은 시기에 나온 대부분의 RISC 프로세서도 다 마찬가지이다. 1994년의 다른 프로세서와 비교하면 ARM7은 경이로울 만큼 전력효율이 높지만 2002년에는 많은 RISC 프로세서가 있을 것이다. 심지어 어떤 CISC 프로세서는 전력효율이 ARM보다 높다. MIPS, SuperH, ARC Core 그리고 다른 것들도 모두 저전력 코어를 가지고 있다.
RISC의 전력 상의 이점은 자동온도조절기(thermostat)나 휴대전화기, 스마트카드 등을 만들 경우에는 무척 중요하지만, 그 외의 다른 애플리케이션에서는 그다지 중요치 않다. 첫 번째 카테고리를 위해 RISC 프로세서는 좋은 선택이다. 비록 당신이 메모리 전력을 소비해도 좋지만, 당신은 CPU 전력을 절약해야 하는 바 조심해야 한다.
코드 밀도는 전력소모에 관계하기 때문에 코드 밀도가 더 나은 칩은 전체적으로 메모리 액세스를 많이 만들지 않아 시스템 전력을 덜 소모할 것이다.
ROM으로부터의 패치나 RAM으로의 읽기/쓰기 액세스는 전력을 적게 소모한다. 그것을 최소화할수록 더 좋다. 여기에는 확고한 법칙이 없기 때문에 예를 든다면 코드 밀도가 2배 증가하였다고 하여도 전력도 2배 증가한다고 말할 수 없다. 애플리케이션마다 다르지만, 만일 당신이 전력소모에 대한 압박을 받게 된다면 이 관계를 기억해라.

성능
RISC의 주요 이점 중에 하나가 그 탁월한 성능이고 따라서 RISC 칩은 항상 빠르다고 할 수 있을까? 한마디로 대답은 "아니오"이다.
무엇보다도 성능이란 말은 애매 모호한 표현이다. 모든 사람은 각각 다른 종류의 성능에 관심이 있다. 예를 들어 미디어 프로세싱에 좋은 것이 네트워크 프로세싱에는 좋지 않을 수 있다. 모든 것에 뛰어난 프로세서는 없다고 말해두겠다. 모든 CPU 명령 셋은 절충일 뿐이다.
당신은 당신의 특수한 애플리케이션에 맞는 ISA(Instruction Set Architecture)가 있는 CPU를 선택해야 한다. 같은 속도로 가동되는 두 개의 칩(여기선 100 MHz라고 하자)은 ISA의 차이에 의해 완전히 다른 성능을 제공할 수 있다.
대부분의 RISC 명령 셋은 거의 동일하다. 그렇다면 결국 그들은 아주 기본적인 것만을 지원하도록 되어 있었던 것인가? 실제 모든 RISC 아키텍처는 수년간 RISC 원칙을 따르지 않는 변형된 기능에 의해 타락해 왔다. 하지만, RISC 칩은 포괄적이고 호환성이 있다.
CISC 진영에는 시스템에 믿을 수 없을 만큼 유용하거나 시스템과 전혀 관련이 없는 여러 가지 명령들이 있다. 때론 어디서 이렇게 괴상한 명령이 나왔을까 생각되기도 하고 다른 프로그램은 이것을 어디다 쓸까 하고 의아해질 때도 있다.
그 중 내가 가장 좋아하는 것 중의 하나는 모토로라에서 나온 68300 제품군 칩에서 발견된 TBLS 명령이다. TBLS는 table look up이고 interpolate instruction이다. 대부분의 프로그래머는 그것을 절대 사용하지 않겠지만, 이런 명령이 필요할 경우 이것은 그야말로 구세주이다.
TBLS 명령은 데이터 포인트의 스파스 테이블(sparse table)에서 복잡한 기하학 함수(geometric function)를 만들 수 있게 해준다. TBLS는 당신이 만들어 놓은 값의 테이블을 탐색해서 가장 가까운 두 개를 당신이 지정한 숫자에 위치시킨다. 그리고 나서 linear interpolation을 통해 그 두 데이터 포인트 사이의 정확한 값을 계산한다. 본질적으로 TBLS는 그림 3에서 보는 것과 같이 X, Y분산그래프의 점들을 연결시킨다.
이상해 보이는가? 그럴 수도 있다. 하지만, 만약 당신이 동작제어를 하고 있다면, 이것은 무척 긴요하게 쓰일 것이다. 이게 없다면 모든 종류의 exception과 boundary case를 가지고 수백 개의 다른 기하학 함수를 코드해야 한다. TBLS는 약 30 클록 사이클에서 실행되는 단일 명령이란 것을 명심해라.

RISC 대 CISC
한마디로 RISC는 빠른 클록 속도를 얻기 위해 feature와 function을 포기하는 것을 의미한다. 당신이 속도를 숭배하고 클록 속도야말로 당신의 모든 것이라고 생각한다면 RISC가 적격이다. 당신은 200 MHz RISC 프로세서를 이용해 75 MHz clunker를 이용하는 것보다 더 높은 clock rate를 얻을 수 있다.
그러나, 더 나은 성능을 얻을 수 없게 되거나 비용만 많이 들이게 될 수도 있다. 빠른 프로세서는 빠른 RAM, 빠른 ROM, 빠른 I/O를 원한다. 당신의 전체 버스 구조도 더 빨라져야 할 것이다.
RISC에 특별한 명성이 있다는 점을 부인할 수 없다. 그것은 새롭고 흥미로운 것으로 인식되고 있으며, 아직도 CISC 프로세서가 강세라는 의견은 반 직관적으로 보인다. 그럼에도 불구하고, CISC는 많은 장점들을 가지고 있다. 코드 밀도와 집적이 더 좋으며, 비트 조작, 메모리 액세스, looping, decision tree 등을 위한 특수한 명령의 성능이 뛰어나다. RISC는 어떤 추상적인 우아함이 있지만, 이것은 비즈니스에는 소용이 없다. 때로는 느리고 꾸준한 것이 경기에서 승리할 수 있다.
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
길이

단위

mm

cm

m

km

in

feet

yard

mile

mm

1

0.1

0.001

-

0.03937

-

-

-

cm

10

1

0.01

-

0.393701

0.032808

-

-

m

1000

100

1

0.001

39.3701

3.28084

1.09361

-

km

-

-

1000

1

-

3280.84

1093.61

0.621371

in

25.4

2.54

-

-

1

0.083333

0.027778

-

feet

304.8

30.48

0.3048

-

12

1

0.33333

-

yard

914.4

91.44

0.9144

0.000914

36

3

1

0.000568

mile

-

-

1609.344

1.609344

-

5280

1760

1



면적

단위

in²

ft²

yd²

acre

mile²

 1

 0.0001

-

0.155

0.001076

 0.00012

-

-

 10000

 1

 0.000001

 1550

 10.7639

 1.19599

0.000247

 -

 -

 1000000

 1

 -

 -

 -

  247.105

 0.386102

in²

 6.4516

 0.000645

 -

 1

 0.006944

 0.000772

-

 -

ft²

 929.03

 0.092903

 -

 144

 1

 0.111111

  0.000023

 -

yd²

 8361.27

 0.836127

 -

 1296

 9

 1

 0.000207

 -

acre

 -

 4046.86

 0.004047

 -

 43560

 4840

 1

 0.001562

mile²

 -

 -

 2.589987

 -

 -

 -

 640

 1



중량

단위

 ㎏

ton

lb

UK cwt

UK ton

US cwt

 US ton

 ㎏

 1

0.001

2.20462

 0.019684

 0.000984

 0.022046

0.001102

 ton

 1000

 1

 2204.62

 19.6841

 0.984207

 22.0462

 1.10231

lb

  0.453592

 0.000454

 1

 0.008929

 0.000446

 0.01

 0.0005

 UK cwt

 50.8023

 0.050802

 112

 1

 0.05

 1.12

 0.056

 UK ton

1016.05

 1.01605

 2240

 20

 1

 2204

 1.12

 US cwt

45.3592

 0.045359

 100

 0.892857

 0.044643

 1

 

 US ton

907.185

 0.907185

 2000

 17.8571

 0.892857

 20

 



부피
/용량

단위

ltrs(dm³)

in³

ft³

yd³

UK pint

UK gall

US pint

US gall

1

 -

0.001

0.061024

0.0000353

 -

0.00176

0.00022

0.002113

 0.000264

 -

 1

 1000

 61023.7

 35.3147

 1.30795

 1759.75

 219.969

 2113.38

 264.172

ltrs(dm³)

 1000

 0.001

 1

 61.0237

 0.035315

 0.001308

 1.75975

 0.219969

 2.11338

 0.264172

in³

 16.3871

 0.000016

 0.016387

 1

 0.000579

 0.0000214

 0.028837

 0.003605

 0.034632

 0.004172

ft³

 28316.8

 0.028317

 28.3168

 1728

 1

 0.037037

 49.8307

 6.22883

 59.8442

 7.48052

yd³

 764555

 0.764555

 764.555

 46656

 27

 1

 1345.429

 168.1784

 1615.793

 201.974

UK pint

 568.261

 0.0005683

 0.568261

 34.6774

 0.020068

 0.000743

 1

 0.125

 1.20095

 0.150119

UK gall

 4546.09

 0.0045461

 4.54609

 277.42

 0.160544

 0.005946

 8

 1

 9.6076

 1.20095

US pint

 473.176

 0.0004732

 0.473176

 28.875

 0.01671

 0.000619

 0.832674

 0.104084

 1

 0.125

US gall

 3785.41

 0.0037854

 3.785411

 231

 0.133681

 0.004951

 6.661392

 0.832674

 8

 1



부피/유속

단위

ltrs/sec

ltrs/h

 ㎥/sec

㎥h

cfm

ft³/h

UK gall/m

UK gall/h

US gall/m

US gal/h

 ltrs/sec

 1

3600

 0.001

3.6

2.118882

127.133

13.19814

791.8884

 15.85032

 951.019

 ltrs/h

 0.000278

 1

 -

 0.001

 0.00588

 0.035315

 0.003666

 0.219969

 0.004403

 0.264172

 ㎥/sec

 1000

 3600000

 1

 3600

 2118.88

 127133

 13198.1

 791889

 1585

 0.3951019

 ㎥h

 0.277778

 1000

 0.000278

 1

 0.588578

 35.3147

 3.66615

 219.969

 4.402863

 264.1718

 cfm

 0.471947

 1699.017

 0.000472

 1.699017

 1

 60

 6.228833

 373.73

 7.480517

 448.831

 ft³/h

 0.007866

 28.3168

 -

 0.028317

 0.016667

 1

 0.103814

 6.228833

 0.124675

 7.480517

 UK gall/m

 0.075768

 272.766

 0.0000758

 0.0272766

 0.160544

 9.63262

 1

 60

 1.20095

 72.057

 UK gall/h

 0.001263

 4.54609

 -

 0.004546

 0.002676

 0.160544

 0.016667

 1

 0.020016

 1.20095

 US gall/m

 0.06309

 227.125

 0.0000758

 0.227125

 0.133681

 8.02832

 0.832674

 49.96045

 1

 60

 US gal/h

 0.001052

 3.785411

 -

 0.003785

 0.002228

 0.133681

 0.013878

 0.832674

 0.016667

 1



압력

단위

atmos

mmHg

bar

pascal

inH₂O

inHg

psi

㎏/㎠

atmos

 1

 760

 1.0132

 101325

406.781

 29.9213

 14.6959

 1.033

 mmHg

 0.0013158

 1

 0.001333

 133.322

 0.53524

 0.03937

 0.019337

 0.00136

bar

 0.9869

 750.062

 1

 100000

 401.463

 29.53

 14.504

 1.01957

 pascal

 0.0000099

 0.007501

 0.00001

 1

 0.004015

 0.000295

 0.000145

 0.00001

inH₂O

 0.0024583

 1.86832

 0.002491

 249.089

 1

 0.073556

 0.036127

 0.00254

inHg

 0.033421

 25.4

 0.033864

 3386.391

 3.5951

 1

 0.491154

 0.003452

 psi

 0.068046

 51.7149

 0.068948

 6894.76

 27.6799

 2.03602

 1

 0.07029

㎏/㎠

 0.968

 7835.72

 0.9808

 98088

 393.786

 28.965

 14.226

 1

1 kgf/cm2 = 10,000 kgf/m²= 10 mH2O
1 MPa=10^6 N/m²= 101971.6 kgf/m2 = 10.19716 kgf/cm2


단위

Btu/h

w

㎉/h

kw

 Btu/h

 1

0.293017

0.251996

 0.000293

 w

 3.41214

 1

 0.859845

 0.001

 ㎉/h

 3.96832

 1.163

 1

 0.001163

 kw

 3462.14

 1000

 589.845

 1


에너지

단위

Btu

Therm

J

KJ

 Btu

 1

0.00001

1055.06

 1.055

251.996

 Therm

 100000

 1

 -

 105.5

 25199.60

 J

 0.00094

 -

 1

 0.001

 0.2388

 KJ

 0.9478

 9.478E-06

 1000

 1

 238.85

 ㎈

 0.0039683

 0.0039683x105

 4.1868

 -

 1



비열

단위

Btu/lb ℉

J/㎏℃

Btu/lb ℉

1

4186.8

J/㎏℃

0.00023

1

1㎉/㎏℃= 1 Btu/lb ℉



열용량

단위

Btu/lb

J/㎏

Btu/lb

1

2.326

J/㎏

0.4299

1



전열계수

단위

 Btu/ft²h℉

w/㎡℃

㎉/㎡h℃

 Btu/ft²h℉

1

5.67826

4.88243

 w/㎡℃

 0.17611

 1

 0.859845

 ㎉/㎡h℃

 0.204816

 1.163

 1



전열속도

단위

 Btu/ft²h

w/㎡

㎉/㎡h

  Btu/ft²h

1

3.154

2.712

 w/㎡

 0.3169

 1

 0.859

㎉/㎡h

 0.368

 1.163

 1



선속도

단위

ft/m

ft/sec

m/sec

ft/m

1

0.016666

0.00508

 ft/sec

m/sec 60

 1

 0.3048

 m/sec

 196.85

 3.28084

 1



점도

단위

pa·s

㎏f·s/㎡

 g/cm·s(p)

㎏m·h

lbf·s/ft²

 pa·s

 1

0.10197

10

 3.6x10³

2.089x10­²

 ㎏f·s/㎡

 9.80665

 1

 98.07

3.53x10⁴

0.20481

  g/cm·s(p)

 0.1

 1.020x10­²

 1

360

 2.089x10­³

 ㎏m·h

 2.778x10.­⁴

 2.833x10­5

 2.778x10­³

 1

5.80x10­6

 lbf·s/ft²

 47.88

 

 478.8

 1.724x105  

 1



동점도

단위

㎡ /sec

㎠/s(st)

㎡/h

 ft²/sec

ft²/h

㎡ /sec

1

1x10­⁴

 3.6x10³

10.764

 3.875x10⁴

 ㎠/s(st)

 1x10­⁴

 1

 0.36

 1.0764x10­³

 3.785

 ㎡/h

 2.778x10­⁴

 2.778

 1

 2.990x10­³

 10.764

  ft²/sec

 9.290x10­²

 929

 334.4

 1

 3.6x10³

 ft²/h

 2.581x10­5

 0.2581

 9.29x10­²

 2.778x10­⁴

 1

'Programming > 그밖에...' 카테고리의 다른 글

Touch screen Calibration  (0) 2009.09.10
CIE L*a*b*  (0) 2009.06.01
PIC Basic으로 구현한 자동응답 디지털 도어락  (0) 2008.05.15
어드레싱모드(addressing mode)  (0) 2008.04.01
MMU와 MPU의 차이점  (0) 2008.03.31
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
사용자 삽입 이미지

연탄재 함부로 차지 마라

너는 누구에게 한번이라도 뜨거운 사람이었느냐

- 안도현 '너에게 묻는다'

'끄적임' 카테고리의 다른 글

Going to San Francisco  (1) 2008.11.09
100달러 지폐의 가치 -좋은생각 中...  (0) 2008.05.26
창작의 고통은 아니지만.....  (0) 2008.05.19
이공계의 현실....  (0) 2008.03.25
노력과 열정이 필요할때!!  (0) 2008.03.20
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
사용자 삽입 이미지

전엔 그냥 가볍에 생각만 조금씩 해왔는데
막상 프로젝트가 코앞에 다가온지금 프로젝트 주제를 정해야 한다는 사실이
너무도 큰 압박으로 다가오고있다.

당장 내일 뭔가 조그마한 결과라도 내놔야 할판인데
세벽 세시가 다 되어가는 지금도 내머릿속은 텅텅 비어있다

무엇인가 획기적인걸 생각해 내야 하는데...
조금만더 생각해보면 무엇인가 손에 잡힐것도 같은데...
새로운것은 고사하고 뭔가 참신한 아이디어를 떠올려야 하는데...

내일을 위해 일찍 잠자리에 들어도 모자란데
아직까지 이러고 있으려니 조금씩 내 자신에게 화가 나려한다

힘들어도
조금만더 힘내고
조금만더 열심히 생각해보자
난 분명 잘 할수 있을꺼다

'끄적임' 카테고리의 다른 글

100달러 지폐의 가치 -좋은생각 中...  (0) 2008.05.26
너에게 묻는다 - 안도현  (0) 2008.05.20
이공계의 현실....  (0) 2008.03.25
노력과 열정이 필요할때!!  (0) 2008.03.20
좀더 부지런하게!!  (0) 2008.03.17
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
사용자 삽입 이미지

위치는 교보타워 횡단보도로 길건너서 바로 골목들어가면 훼미리마트 나오는데
거기 바로 옆입니다

지도상에서 중앙부분 십자부분에 있습니다.

=============================================================================================

강남역주변 가끔가는 횟집입니다
회도 싱싱한 편이고
4명이 가면 회로 배불리 먹으면  한사람당 1만원만 준비해가시면 됩니다. (술값은 + α)
결정적으로 회도 두툼하게 썰어줍니다

제가 교보타워주변에 있을대 자주 애용하던 집입나다

횟집인데 이름이 "별난포차"입니다
밖에서 볼땐 꼭 횟집같지는 않은 분위기고 간판도 좀
횟집이랑은 거리가 멉니다. 그래서 아마도 잘 알려지지 않은것 같습니다

광어         20000원                    2인용 (회는 25000원짜리랑 비슷한데 매운탕이 없슴)
광어/우럭  25000원(매운탕포함)  3명이서 배부름 ( 2인 먹으면  과식했다는 소리나옴)
               35000원(매운탕포함)  4명이서 배부름

'그밖에...' 카테고리의 다른 글

내가 좋아하는 글귀  (0) 2009.12.21
Sonicstage 4.3 한글판  (0) 2008.05.19
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

우장춘 박사.

우장춘 박사가 왜 아직도 "씨없는 수박 맹든 사람"으로만 알려져 있는지 도대체 이해할 수가 없다. 이것도 이승만의 저주인건가.

(게다가 씨없는 수박은 기하라 히토시라는 이름의 일본인 박사가 처음 만들었고 그걸 우 박사가 한국에 들고 온거다. 뭔 넘의 "씨없는 수박 박사"...)

짧게 요약하자면,

우장춘 박사는 일제와 전쟁이 말아먹은 불모지 쑥대밭 한반도를 먹고 살만한 땅으로 바꿔 놓은 구국의 위인.

이분은 출생부터가 기구하셨다.

1898년 생인데, 아버지가 친일부대의 대대장으로 명성황후 시해에 가담한 역적 우범선이었다.

아관파천으로 전세 역전, 일본으로 망명한 '친일파' 우범선, 일본인 사카이 나카와 결혼해 2남을 생산하는데 그중 장남이 우장춘이었다.


우장춘(가운데) 가족 사진.
아버지 우범선(왼쪽)의 죽음으로 이 가족은 더 이상 비참할 수 없는 지경으로 빠진다


조국을 배신한 역적의 최후는 비참했다. 우범선의 증언에 따르면 억울한 면도 있다는데 뭐 어쨌든. 우범선은 우장춘의 나이 5살에 대한제국이 보낸 자객에 살해된다.

이때부터 우장춘 가족은 그야말로 떠돌이 집시만도 못한 최악의 삶을 살게 된다.

조선에선 배신자 역적의 가족, 일본에선 이용가치 없는 쓰레기 튀기 가족으로 전락,

과부가 된 장춘의 어머니는 극심한 경제적 비곤에 시달려, 우장춘을 고아원에 맡겨 버린다. 그리고, 무슨 동화책 속의 주인공마냥 조선인 우장춘은 고아원생들의 무지막지한 이지매 공격에 시달린다.

일반적으로 어린 시절 가난하고 힘들고 폭력에 시달리다 크면 나중에 일탈행위를 하기 마련인데 우장춘은 그 반대였다. 그는 '기어코 훌륭한 사람이 되서 너희들에게 복수하겠다'는 생각을 했다고.

뭐 어쨌든, 장춘의 어머니도 훌륭한 여인었던 모양. 기어코 돈을 벌어 장춘을 집으로 데려와 대학까지 보낸다. 것도 그냥 대학이 아니라 동경제국대학을. 명문대 간건 장춘이 대단해서였지만 아무튼.


일본 제국주의과 우장춘의 복수심

도쿄제국대학 농학실과을 졸업한 장춘, 일본 농림성에 취업해 혁혁한 업적을 쌓으며 승승장구한다. 근데 1937년 어느날 갑자기 해임.

왜? 일본 이름을 쓰지 않았다는 이유로.

장춘이 일본에서 살아남는 길은 일본인이 되서 일본 이름을 쓰는 것 밖에 없었다. 실제로 그는 결혼하려고 일본인의 양자가 돼 “스나가 나가하루(須永長春)”라는 일본 이름을 얻었다. 근데 정작 자신의 업적을 남기는 논문과 공문 기록에는 고집스럽게 자신의 한국 성인 "우"를 집어 넣었다.


우장춘 선생님 대학 시절 모습

우장춘에게 일본은 혹독한 굶주림과 차별과 폭력의 나라였다. 일본에서 이민자가 얻을 수 없는 엄청 높은 지위를 얻긴 했으나 그건 순전히 장춘이 혼자 잘나서 그렇게 된 거고. 자신의 가족을 그토록 짓밟았던 제국주의에 미쳐 날뛰는 나라, 일본은 우장춘에게 영원히 함께 하지 못할 적국일 뿐이었다.

그래서 그는 조선인이라는 정체성에 매달렸다. 괴롭게도 조선은 우장춘을 역적의 아들로 낙인 찍었으나, 여전히 조선은 그의 뿌리이자 (자신처럼) 일본에게 짓밟힌 약자였다.


우장춘의 귀환

해임 후 지방의 농장장으로 재취업, 연구 활동에 몰두하던 우장춘은 여생을 그냥 그렇게 행복하게 보낼 수 있었다. 육종학계 최고 권위자라는 명예를 간직한 채 일본 이민자 역사에 빛나는 태양으로 남을 수 있었다.

그러나, 우장춘에겐 운명이 정해준 사명이 있었던 모양이었다.

일제로부터 해방된 조선, 아니 대한민국이 그를 애타게 찾기 시작한 거다.

해방 후 대한민국은 1947년부터 농업의 근대화를 위해 일본에서 이름을 날리고 있던 실력자 우장춘을, "같은 민족"이라는 미끼로, 영입하고자 했다.

당시 한국은 미리 한국 농업 과학연구소를 만들어 놓고 소장 자리를 우장춘을 위해 공석으로 놓아 둘 정도로, 우장춘의 가족에게 "이적료"로 1백만엔을 보낼 정도로 열성이었다. 당시 1백만엔이면 '남편이 죽었어요 10억을 받았어요' 수준의 엄청난 돈.

우장춘은 이미 골수 깊은 민족주의자였는지도 몰랐다. 난 조선에서 죄인이겠지라는 생각만 하고 있었는데 조선이 먼저 "어서오쎄요"라고 걸보고 무척 감격했던게 분명했다.

그는 가족을 위해 쓰라고 준 돈 1백만엔을 탈탈 털어 한국에 심을 종자를 사는데 사 써 버렸다. 그리고 당시(1950년) 한국 전쟁이 한참이었던 부산에 와서 그 나이에 군복무까지 했다. 당시 높으신 양반들은 군면제시켜 주려고 했는데 우장춘은 싫다고 했단다. 허허...


구원자, 우장춘

암튼, 공석으로 남겨뒀던 한국 농업 과학연구소 소장으로 취임한 우장춘. 근데 소장이면 뭐하니. 전쟁으로 쑥대밭된 나라엔 아무것도 없었다. 

당시 연구소는 소장 자리만 만들어 놓고 잠 잘 곳도 씻을 곳도 수돗물 나오는 곳도 전기 들어오는 곳도 안 만들어 놓았단다. (심지어 입을 옷도 없어서 우장춘 소장은 행사장에 누더기 외투에 고무신 끌고 나가셨단다.)

이런 참담한 상황에서 10 여년 동안 우장춘은 대한민국을 기어코 구원하시고야 마는데, 그 업적의 핵심은 바로,

우량 종자 개발.

농업만 그랬겠냐만은 일제 치하의 조선은 철저하게 일본에 종속된 '식민농업지'였다. 일본에서 종자를 들여와 일본식 기술로 농사를 지어야 했는데, 일본이 패망한 뒤로는 그게 불가능해 진 거다.

식량조차 자급자족이 안되는 나라, 이 처절한 대한민국에서 가장 중요한 건 우수 종자를 개발하는 것이었다. 식량 작물은 키워 놓으면 지가 알아서 씨를 틔워 번식하는게 아닌 모양이었다. (난 영농기술에 잘 모르니 원) 인공적으로 종자를 개발해야 생산성이 높아지고 사람들을 먹여살릴 수 있었던 모양.

우장춘은 가장 먼저 우량 종자 개발에 주력, 최단시간 내에 배추, 무, 고추, 오이, 양배추, 양파, 토마토, 수박, 참외 등에 걸쳐 20여 품종에서 종자를 확보한다. (그 외에도 한해 두번 수확하는 벼 품종 개발 등 무수히 많단다)

이로서 대한민국에 현대 농업기술이 시작됐고 국민들은 기아에서 점차적으로 벗어날 수 있었다. 뿐만 아니라 우장춘이 손을 댄 우량 종자들은 외국 것을 능가하는 엄청난 품질이었다.

우장춘이 얼마나 천재였는지 보여주는 가장 두드러진 사례는 바로 제주 감귤이었다.

한국이 세계에 자랑하는 최우수 과일 품종 "제주 감귤." 이 엄청난 작물의 종자와 재배 기술을 창작해 낸 것도 모자라, 우장춘은 이걸 제주와 남해안 일대에 생산지를 구축, 제주 감귤 산업을 일으켜 세우셨다.

이것만 있냐, 아니다 . 강원도 감자 있잖수. 이거이 특정 바이러스에 너무 취약해 한번 창궐하면 전멸을 하곤 했단다. 그때마다 강원도민들의 상당수는 굶어죽는 거였고. 이걸 종자를 변형시켜 면역을 가진 강력한 작물로 탈바꿈 시켰다.

그리고 페튜니아를 화초로 가꿀 수 있도록 개발해서 원예 산업을 일으켜 세웠고... 이건 일본에서도 깜짝 놀랐던 엄청난 업적이라는데 내가 잘 몰라서 그냥 패스.


페튜니아 교배 연구 중인 우장춘 선생님

우장춘 박사는 먹고 사는 것만 해결해 주신게 아니라 먹는 걸로 경제와 산업을 창출하는 기반까지 닦아 주신... 그 당시엔 말 그대로 하늘에서 내려온 구원의 천사였던 거다.


영웅의 수난

처음에 한국에 오실 때 우장춘 박사는 한국에 뼈를 묻겠다고 하셨다는데, 솔직히 그게 사실인지는 알수가 없다.

솔직히 그렇게 말했다고 하더라도 별로 뼈를 묻고 싶은 나라는 아니었을게다.

우장춘 박사는 말 그대로 대한민국을 위해 온몸을 산화한 영웅이었다. 십이지장 궤양으로 병원에 입원한 상태에서, 그 때 한참 실험 중이던 일식이수(一植二收)의 벼를 비닐 봉투에 넣어 링거병이랑 같이 걸어 놓고 관찰할 정도였다.

근데 이승만과 그의 떨거지들은 우장춘을 우습게 여겼다. 왜냐, 우리말을 잘 못했거든.

당시 정신나간 권력자들은 일본에 대한 적개심으로 활활 불타고 있었고, 일본말만 잘하는 우장춘을 밉게 보았다. 우장춘 박사는 사실 한글에 도통한 분이었다. 왜 그런 사람 있잖수 영어 읽기 듣기 쓰기 다 잘하는데 말하기만 젬병인 사람. 우장춘이 그랬다. 다 잘하는데 한글을 구사하는 것만 못했다.

그래서 아예 대놓고 구박하고 모욕을 줬다. 아예 공개석상에서 일본말만 지껄일 중 알면서 무슨 애국을 하겠다며 망신을 준 정치인도 있었다.

세계적인 유전학 석학이 한국에 오니까 졸지에 외국인 노동자 된 거다. 이 때부터 그 잘난 대한민국의 처절한 과학자/엔지니어 냉대 전통이 시작된 거라는 거지.

그리고 결정적으로, 어머니가 작고하셨을 때도, 딸이 결혼을 했을 때도 우장춘은 일본으로 건너가지 못했다. 이승만 정권이 출국 금지를 시켰걸랑.

정확한 이유는 잘 모르겠지만, 평소 바른 말을 잘하는 우장춘이 이데올리기 문제에 관해 입바른 소릴 한 모양이었다. 그 소릴 들은 이승만 정권은 '사상에 문제가 있네'라며 그를 출국 금지시켜 버렸다.


한국 땅에서 어머니의 제사를 치르고 있는 우장춘 선생님

어머니의 죽음, 딸의 결혼도 함께 하지 못한 우장춘. 아들로서 아비로서 가슴 찢어지는 고통이었겟지만,

그러나 우장춘은 끝까지 조선인을 위해 마지막 생을 바쳤다.

그는 1959년 죽는 순간까지 더 우수한 벼 품종을 만들기 위해 연구에 연구를 거듭했다. 그는 죽는 순간까지도 자신의 마지막 작품을 완성시키려는 생각 밖에 없었다고 한다.

죽기 하루 전 정부로부터 문화 포상받은 우장춘, 이렇게 말하며 눈물을 철철 흘렸다고 한다.

"조국이 날 인정했구만... 근데 좀 일찍 좀 주지..."


한국 원예연구소 재임 당시의 우장춘 선생님
한국의 모든 전후 세대는 이 위대한 인물에게 큰 빚을 졌다

이승만 정권은 우장춘을 철저히 이용만 해 먹었다. 그들은 우장춘의 업적을 기록에 남기는 것조차 소홀했다. 그래서 우리는 아직도 구국의 영웅이자 만능 천재 과학자 우장춘에 대해 아직도 제대로 모르고 있는 거다.

50여년이 흐른 지금도 마찬가지다. 인터넷에서 검색해도, 서점에서 책을 찾아도, 우장춘에 관한 콘텐트는 코흘리개 애들 교과서 한귀퉁이에 실릴 정도의 분량 밖에 나오지 않는다.

되려, 일본에서 출판된 책이 우장춘의 생애에서 대해 잘 정리해 놓았다.

일본 여류 작가 쓰노다 후사코의 "조국은 나를 인정했다"라는 책. 이 책이 요즘 우리가 접하는 우장춘 박사에 대한 모든 정보의 소스원이다. 아래 링크에 책 정보가 있다.

http://www.aladdin.co.kr/shop/wproduct.aspx?ISBN=5000131723


출처 : 돌연변이연구소 http://kr.blog.yahoo.com/fastidio4/MYBLOG/yblog.html?fid=0&m=lc&sk=0&sv=%EC%9A%B0%EC%9E%A5%EC%B6%98&frommode=c#1248239

336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.


Sonicstage 4.3 한글판 Web Installer입니다
웹인스톨 방식이기 때문에 시간이 로래 걸릴수도 있습니다

트레픽이 심해 링크로 대체합니다

'그밖에...' 카테고리의 다른 글

내가 좋아하는 글귀  (0) 2009.12.21
*맛집* 교보사거리 별난포차!!  (0) 2008.05.19
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.



일본은 얼굴 주름으로 담배 구매연령을 인식하는 자판기를 곧 실용화 할 예정이다. 일본에서 담배를 필 수 있는 법적 연령은 만 20세로, 오는 7월에 얼굴 형태를 분석해 나이를 맞추는 후지타카 사의 새로운 시스템을 장착한 담배 자판기를 일본 전역에 걸쳐 570,000 대를 설치할 예정이다.
이 자판기에는 눈가의 주름들, 두개골 형태, 피부의 처진 상태 등 얼굴의 특징들을 100,000명 이상의 얼굴 데이터와 비교하는 디지털 카메라가 장착되어 있다. 이는 미성년자들이 신분증을 빌려 담배를 사는 폐단을 방지할 것이라고 후지타카 사의 대변인은 말했다. 그러나 이 얼굴인식 방법의 정확도에 대한 염려들도 제기되어, 인준이 미뤄지고 있다.
이 대변인은 이 시스템이 사용자들의 약 90%를 정확하게 인식하고, 나머지 10%의 늙게 보이거나 동안을 가진 사람들의 경우는 운전면허를 기계에 넣어 재차 확인하도록 요구한다고 말했다.
일본 보건성은 법적 미달 연령 흡연율이 일본에서 감소하고 있지만, 2004년 조사에 의하면 고등학교 3학년 남학생들의 13%와 여학생들의 4%가 매일같이 담배를 피고 있다고 알려졌다.

[소스] http://www.i4u.com/article17172.html

336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

As of September 2007, Nintendo has sold over 13 million Wii game consoles. This significantly exceeds the number of Tablet PCs in use today according to even the most generous estimates of Tablet PC sales. This makes the Wii Remote one of the most common computer input devices in the world. It also happens to be one of the most sophisticated. It contains a 1024x768 infrared camera with built-in hardware blob tracking of up to 4 points at 100Hz. This significantly out performs any PC "webcam" available today. It also contains a +/-3g 8-bit 3-axis accelerometer also operating at 100Hz and an expandsion port for even more capability. These projects are an effort to explore and demonstrate applications that the millions of Wii Remotes in world readily support.

Any software on this page is primarily meant for developers and may not run without proper the development tools installed. Downloading and installing this software is at your own risk, and no support or guarantee is provided with this software. The official discussion forums for my wiimote projects can be found here: WiimoteProject.com

NOTE: For most of these projects, you don't need the Nintendo Wii console. You only need the Wii controller and a bluetooth connection.

Tracking Your Fingers with the Wiimote

Using an LED array and some reflective tape, you can use the infrared camera in the Wii remote to track objects, like your fingers, in 2D space. This lets you interact with your computer simply by waving your hands in the air similar to the interaction seen in the movie "Minority Report". The Wiimote can track upto 4 points simultaneously. The multipoint grid software is a custom C# DirectX program.

Software
To run the grid program you see in the video:
1. First, follow this walkthrough on using the wiimote with C#. You may need to download a copy of Visual C# Express to compile/run this sample if you don't have it yet.
2. Download a copy of the DirectX SDK. You may not need this to simply run the sample grid program, but you will need it if you want to make any changes to it.
3. Download the Wiimote Multipoint Grid sample program. Make sure your wiimote is connected via bluetooth, and then run the ".exe" shortcut in the main folder.

A visit to this project's FAQ and Advanced Discussion post may be very englightening. You may also find the official discussion forums for my wiimote projects helpful: WiimoteProject.com




Low-Cost Multi-point Interactive Whiteboards Using the Wiimote

Since the Wiimote can track sources of infrared (IR) light, you can track pens that have an IR led in the tip. By pointing a wiimote at a projection screen or LCD display, you can create very low-cost interactive whiteboards or tablet displays. Since the Wiimote can track upto 4 points, up to 4 pens can be used. It also works great with rear-projected displays.

Software
The calibration and mouse cursor emulation software is available for you to download and try yourself. Note: My mouse emulation code isn't perfect. If any of you are programmers and can get it working with Alias Sketchbook, drop me a line.
1. Connect your wiimote to your PC via Bluetooth. If you don't know how to do this, you can follow this tutorial. I've been told it works with other Bluetooth drivers, but I have not tested them myself. You can report compatibility issues on the SourceForge:WiimoteWhiteboard - Help Forum
2. Download the Wiimote Whiteboard software to the right. Please read the "READ ME.txt" file first! Make sure your wiimote is connected via bluetooth, and then run the ".exe" in the main folder. NOTE: Good placement of the wiimote is key to good tracking. View the README for more info.

Multitouch: The multitouch demos are custom C# DirectX programs. You may download the sample program to the right, but this is provided for developers without support or documentation. The code is built on top of this Wiimote library. Unfortunately, multi-touch capable applications are currently extremely rare. Hopefully, that will change as more developers explore its potential.

Building pens: Here is a simple schematic of the light pen. The LEDs that I use are Vishay TSAL6400s running at 100mA, but lots of other LEDs will work too. You also might be able to jump start your experimentation by retro-fitting a mini keychain light with an IR LED. I'm currently looking into manufacturing and selling IR pens, but this may take several months.

Mac/Linux Versions: Due to personal time contraints, I've had to hand off Mac and linux development to other members of the Source Forge Project - Wiimote Whiteboard. Check there if a release has been made. If you are a Mac/Windows/Linux developer, please help spread the love and join the project. A lot of people are waiting to use your software.You can subscribe to updates at my Project Blog [procrastineering.com] .

A visit to this project's FAQ and Advanced Discussion post may be very englightening. You may also find the official discussion forums for my wiimote projects helpful: WiimoteProject.com



Downloads:
Wiimote Whiteboard (original 12/19/07) - includes source
Wiimote Whiteboard v0.2 (updated 3/27/08) - includes source

Multitouch source code





Head Tracking for Desktop VR Displays using the Wii Remote

Using the infrared camera in the Wii remote and a head mounted sensor bar (two IR LEDs), you can accurately track the location of your head and render view dependent images on the screen. This effectively transforms your display into a portal to a virtual environment. The display properly reacts to head and body movement as if it were a real window creating a realistic illusion of depth and space.

The program only needs to know your display size and the size of your sensor bar. The software is a custom C# DirectX program and is primarily provided as sample code for developers without support or additional documentation. You may need the most recent version of DirectX installed for this to work.

Software
To run the DesktopVR program you see in the video:
1. Connect your wiimote to your PC via Bluetooth. If you don't know how to do this, you can follow this tutorial. I've been told it works with other Bluetooth drivers, but I have not tested them myself.
2. Download the WiiDesktopVR sample program. Read the README file on program usage and configuration. Launch the "WiiDesktopVR.exe" in the main folder. A potentially more stable/Vista/64-bit compatible version has been created by Andrea Leganza. There also may be more variants on the web.

NOTE: If you are having trouble with running the program, you can check my project blog post about it or check the forum for assistance. I am unable to replicate these problems, so it hard for me to debug them. But, other people have figured it out. Things that have been identified to help: delete the "config.dat" file and re-run the program, install a new version of Direct X, or istall .NET 2.0.

Developers Notes: The code is built on top of this Wiimote library. To compile the program, you will need a C# IDE and the DirectX SDK. More notes are in the README.

A visit to this project's FAQ and Advanced Discussion post may be very englightening. You may also find the official discussion forums for my wiimote projects helpful: WiimoteProject.com




Coming Later: 3D tracking, and more....

Unfortunately, time constraints in the next couple of months have significantly reduced my ability to work on more projects. But, you can subscribe to updates via my project blog [procrastineering.com]



+ Recent posts