2014년 4월 8일 화요일

아날로그와 디지털(Analog vs. Digital)

우리글이 많은 소리를 표현할 수 있지만 여전히 부족한 것이 있다. 영어에도 매우 미묘한 소리들이 있어서 우리글로 표현이 어려운 것들이 있다.

그 중에서 Digital에 대해서 우스게 이야기가 있다. 우리나라에서 Digital을 어떻게 표기할 것인가에 대해서 디지탈, 디지틀, 디지털이라는 세가지 용어표현에 대해서 전문가들이 다툼이 있었다. 디지탈과 디지틀을 주장하는 전문가들이 디지털이라는 주장에 밀리게되자 디지털을 주장하는 전문가에게 "디지털이 뭐냐? 돼지털이냐?" 라고 했다는...

그럼 아날로그와 디지털이란 무엇일까?

먼저 딱딱한 정의부터 적어보자.

아날로그: 연속적으로 변화하는 물리량(?).
디지털: 0과 1로 기록된 불연속적으로 변화하는 물리량(?).



이 말을 그대로 이해하는 사람도 있고, 그렇지 않은 사람도 있을 것이다. 이해하는 사람은 패스~ 그러나 이해하지 못하는 사람을 위해서 좀 더 쉽게 살펴보자. 먼저 물리량이라고 했는데 물리량이 뭐야? 물리량이란 그냥 값이다. 온도나 시간이 하나의 물리량이며, 따라서 26.7도, 35초와 같은 것이 물리량이다.

아날로그와 디지털은 숫자의 개념으로 이해하면 보다 쉽게 이해할 수 있다. 우리가 일반적으로 수는 정수와 실수로 구분할 수 있다.
이때 두개의 실수값 사이에는 또다른 실수값이 존재한다. 실수(實數, real number)를 모르는 실수( 失手, mistake)는 없기 바란다. 따라서 실수값은 연속적인 값이다. 아날로그란 이와 같이 시간이나 진폭과 같은 값이 끊임없이 존재하는 물리량, 즉 어떠한 값을 가진 것을 의미한다. 그리고 실수값은 무한히 존재하는 값이기 때문에 어떠한 범위를 정하더라도 아날로그 물리량은 무한히 존재한다.

반면에 정수는 어떠한가? 정수는 1과 2사이에 정수값이 존재할 수 없다. 정수가 뭔지 모르겠다고? 이 자료를 읽기전에 초등학교 산수책을 먼저 볼 것을 권한다. 이와 같이 정수는 값이 연속적으로 존재하지 않고 띄엄띄엄(불연속) 존재한다. 이러한 값을 이진수(binary, 0과 1만을 갖는 수체계)로 표시한 것이 디지털이다. 따라서 디지털 물리량은 범위를 정하면 유한한 수가 존재한다.

"아날로그와 디지털이 이렇게 다른 것이라면 우리가 스마트폰에서 즐겨듣는 음악, 촬영한 사진, 재미있게 보는 동영상은 다 뭐야?"라고 궁금함이 생긴다면 둘 사이의 관계를 살펴봐야 한다. 슈퍼스타케이에서 많은 도전자들이 노래를 부른다면 이는 아날로그 물리량으로 존재한다. 그런데 이러한 아날로그 음악을 우리가 스마트폰에 저장할 때는 디지털 음악으로 저장하고 있다. 동일한 정보(또는 음악이나 신호)가 아날로그로도 존재하고 디지털로도 존재한다는 것이다.

그러면 아날로그와 디지털 사이를 이어주는 다리가 있어야 하는 것 아닐까? 그리고 아날로그는 무한히 존재하지만 디지털은 유한 존재이니까 둘 사이에 연결되지 않는 것도 있는 것이 아닐까? 오~ 예! 정답.. 여러분이 이런 생각을 했다면 아주 날카롭게 위에 설명한 것을 이해한 것이다.

무한한 아날로그 물리량에서 이를 대표할 수 있는 값들만을 추려서 0과 1로 표현하면 디지털로 나타내는 것이다. 여기서 아날로그를 대표할 수 있는 값을 추리는 과정을 우리는 표본화 또는 샘플링이라고 한다. 표본화나 샘플링이라는 이야기는 많이 들어보지 않았는가? 선거철만 되면 출구조사나 여론조사를 많이하는데, 모든 유권자에 대해서 조사를 하기에는 비용과 시간이 많이들기 때문에 유권자의 분포(나이, 성별, 지역 등에 따른)에 따라서 일부 유권자에 대해서만 조사를 한 뒤에 그 결과를 예측하면서 나오는 용어가 바로 샘플링이다. 즉, 전체를 사용하기 곤란할 때, 일부 만을 추려내는 과정이다.

여러분이 가지고 있는 스마트폰이 얼마만큼의 저장장치를 갖고 있는가? 32GB? 64GB? 좋다. 여러분이 좋은 스마트폰에 64GB의 저장장치를 갖고 있다고 하자. 그런데, 아날로그를 불연속적인 디지털 데이터가 아닌 연속적인 디지털(? 말에 모순이 있지만 그렇다고 하자) 데이터로 전환한다면 아날로그에는 무한개의 물리량이 존재하기 때문에 디지털로도 무한개의 데이터가 나오게 된다. 그러면 "아" 소리 하나를 저장하기에도 64GB는 턱도 없이 부족한 용량이 된다. 그렇지만 여러분은 64GB의 저장용량이면 고화질 영화도 30편이상, 고음질 음악은 수천에서 수만곡을 넣어가지고 다닐 수 있다.아니? 어찌 이런일이? 바로 샘플링의 마술이다. 어차피 인간의 감각기관은 아날로그로 표현되어 있는 모든 값을 인지할 수 없다. 따라서 적당히(?) 몇개만 전달해줘도 차이를 감지하지 못하므로 제한된 수량의 데이터만으로 아날로그 음악이나 사진, 동영상을 표현할 수 있고, 제한된 용량의 저장장치를 충분히 효과적으로 활용할 수 있는 것이다.

이와 같이 아날로그 물리량을 디지털 물리량으로 전환하는 장치를 아날로그-디지털 변환기(Analog to Digital Converter: ADC)라고하며, 디지털 물리량을 아날로그로 전환하는 장치를 디지털-아날로그 변환기(Digital to Analog Converter: DAC)라고 한다. 샘플링을 포함하여 이들 구조는 하드웨어 관련 내용이므로 다음 기회에 한번 더 다루어 보자.


2014년 3월 27일 목요일

AR DRONE 쿼드콥터

배터리로 구동되는 쿼드콥터. 오래는 못날리지만 언제 어디서든지 쉽게  날릴 수 있다.

실내보호 장착 모습

야외비행 하울링 장착 상태

일자산 공원에서 날린 쿼드콥터가 촬영한  영상.





컴퓨터의 저장장치(Computer Storage)

우리는 기억력이 감퇴되거나 기억할 수 있는 한계를 넘어서는 것을 잃어버리지 않기위해서 메모장이나 수첩을 사용한다. 컴퓨터 메모리는 용량에 한계가 있으며, 이를 극복하기 위해서 보조기억장치인 저장장치를 이용한다. 마치 우리가 기억의 한계를 극복하기 위해서 수첩을 사용하는 것처럼 컴퓨터에는 보조기억장치인 저장창치가 있다.

메모리(여기서는 주 메모리인 RAM)와 보조기억장치는 둘다 기억장치(메모리)이지만 가격대비 용량과 속도의 차이로 인하여 RAM은 주 기억장치(주 메모리)로 사용되며, 대용량으로 데이터를 저장해 놓기위해서는 보조기억장치(저장장치)를 사용한다.

보조기억장치로 사용되는 저장장치는 많은 프로그램이나 데이터, 멀티미디어 등을 저장해야 하므로 대용량이며, 주기억장치인 RAM에는 현재 실행되고 있는 프로그램이 보조기억장치로부터 로딩되어 있다.

그렇다면 보조기억장치로 사용하는 저장장치에는 무엇이 있는가?

오늘날 가장 많이 사용하는 대용량 저장장치로는 하드디스크드라이브(HDD)가 있으며, 가격은 비싸지만 저전력에 속도도 빠른 반도체드라이브(SSD: Solid State Drive), 플래시 메모리를 이용한 기타 저장장치(USB 메모리, SD카드 메모리 등)가 있다. 지금은 잘 사용되지 않는 광학매체(CD, DVD, Blueray Disk), 플로피디스크, 마그네틱 테잎 등도 대용량(?) 저장매체에 속한다. 오늘날 대용량의 개념이 TB 단위로 되어있어서, 대용량이라는 용어가 무색하지만 해당 저장장치들이 등장하였을 당시에는 분명히 대용량이라는 용어를 사용함에 어려움이 없었으리라.

1. HDD(Hard Disk Drive)

2.5" SATA HDD (wikipedia)

하드디스크는 이름에서 나온 것 처럼 단단한 원판(디스크, platter)에 자성체를 도포하여 저장장치로 이용하는 것으로써, 가격대비 저장용량 면에서 가장 효율적이기 때문에 많이 사용하고 있다. 하드디스크는 구동장치까지 함께 내장되어 사용하기 때문에 하드디스크드라이브라고 부르고 있으며, 디스크를 회전하기 위한 모터(스핀들 모터)와 디스크에 데이터를 기록하고 읽어내기 위한 헤드가 달린 팔(arm)과 같은 구동계가 있어서 충격에 약하다.

HDD의 모습(wikipedia)

하드디스크의 디스크는 단단한 형태를 갖는 금속으로 만들어져 있기 때문에 기록밀도를 높이는 장점을 갖고 있어서 대용량 저장장치를 만드는데 용이하다. 디스크는 기록을 위해서 트랙, 섹터, 세그먼트로 구분되어있다. 이전에는 하드디스크의 용량을 늘리기 위해서 디스크(플래터)를 여러장 쌓는 경우가 있었는데, 2장 이상의 디스크가 놓여있으면 원통형으로 구성되기 때문에 이는 실린더라고 구분하였다.



2. SSD(Solid State Drive)
SSD는 반도체 플래시 메모리를 이용하여 대용량 저장장치인 하드디스크를 대체하는 저장장치로 각광을 받고 있다. 하드디스크와 달리 기계적인 장치가 없기 때문에 물리적인 충격에 강하고 저전력이면서 데이터 전송속도가 빠른 장점이 있지만, 가격이 하드디스크드라이브의 7~10배에 달하는 것이 걸림돌이다. 하지만 지속적인 반도체 기술의 성장과 플래시 메모리 가격의 하락으로 그 차이는 점차 줄어들게 될 것이다.
SSD는 플래시메모리를 사용하지만, 외부 인터페이스는 하드디스크드라이브와 동일하게 구성되어있어서 기존에 사용하던 하드디스크와 쉽게 대체가 가능한 구조로 되어있다.

3. 메모리카드와 USB 메모리
우리가 많이 사용하는 이동식 저장장치로써 USB메모리와 카메라나 스마트폰에 많이 사용되는 SD(Secure Digital) 카드 등은 SSD와 마찬가지로 플래시 메모리를 이용하여 제작한다. 외부 인터페이스나 외형은 다르지만 기본 소자가 플래시 메모리를 이용한다는 측면에서는 거의 유사한 형태라고 볼 수 있다.
아래 사진은 플래시메모리를 이용한 다양한 메모리카드와 USB 메모리를 보여주고 있다. 사진에서 보는 것 처럼 다양한 외형과 인터페이스를 갖고 있는 것을 알 수 있다.


4. 기타
이외에도 광학 매체나 기존에 사용되던 저장장치도 많이 있으나 과거의 역사이야기 이므로 다음 기회에 다뤄보기로 하자.

2014년 3월 25일 화요일

컴퓨터 메모리(Computer memory)

CPU는 인간의 두뇌에서 연산을 담당하는 부분이다. 물론 CPU 내부에도 일부 고속의 메모리가 들어있지만 요즘 같이 커다란 프로그램을 실행시키려면 두뇌의 기억과 같은 역할을 해줄 대용량 메모리가 필요하다.

컴퓨터의 기본 구성 요소인 주메모리가 우리가 컴퓨터나 스마트 기기에서 실행하는 프로그램을 담아두고 순서에 따라서 프로그램이 지시하는 동작을 수행한다. 우리가 컴퓨터에서 "메모리"라고 이야기하는 것은 바로 이 "주메모리"를 의미한다. 메모리는 비휘발성 메모리와 휘발성 메모리로 구분할 수 있으며, 비휘발성 메모리는 전원이 공급되지 않더라도 한번 기록된 데이터는 지워지지않고 남아있다. 우리가 일상적으로 많이 사용하는 플래시메모리(usb 메모리)가 대표적인 비휘발성 메모리이다. 반면에 휘발성 메모리는 전원이 공급되지 않으면 기록된 데이터가 사라지기 때문에 휘발성이라고 불리며, 컴퓨터 주메모리로 사용되는 RAM(Random Access Memory)가 대부분 휘발성 메모리이다.

지금의 컴퓨터는 주메모리는 모두가 반도체로 만들어진 메모리이며, 그 용량도 매우 크다. 주메모리로 사용되는 메모리는 DRAM(Dynamic Random Access Memory)이 사용된다. 반도체 메모리는 크게보면 SRAM(Static Random Access Memory)와 DRAM으로 나눌 수 있는데, SRAM은 전원이 공급되어 있는 상태만 유지하면 데이터가 유지되며, 속도가 빠르지만 제작비용이 많이들고 공간을 줄이는데 제약사항이 있어서 CPU안에 들어가는 레지스터나 캐시 메모리와 같이 고속의 메모리에 사용된다.

1bit 저장을 위한 SRAM 구조(wikipedia)


반면에 DRAM은 전원이 공급되어있어도 시간이 지나면 데이터가 사라지기때문에 주기적으로 데이터를 복구(refresh)해주어야한다. SRAM에 비해서 속도는 느리지만 작은 공간에 고 집적이 가능하고 비용이 적게 들기 때문에 고용량 메모리를 만드는데 적합하다.

16bits 저장이 가능한 DRAM 구조(wikipedia)

DRAM은 개발 이후로 Read/Write 속도를 높이기 위해서 다양한 구조가 등장하였으며, 현재 사용되고 있는 DRAM은 클록을 추가하여 DRAM의 동작을 동기화시키는 SDRAM(Synchronous DRAM)이다. 이 SDRAM에 DDR(Double Data Rate)이 붙은 것은 DRAM의 동작 속도를 더욱 높이기 위한 구조이며, 번호가 높게 붙을 수록 데이터 Read/Write 속도가 높은 것이다. DDR에 비해서 DDR2와 DDR3는 2배와 4배의 속도 개선이 있다.

SDRAM의 외양(홈의 위치가 다름) - wikipedia

2014년 3월 21일 금요일

CPU는 어떻게 동작하는가?(How does the CPU work?)

CPU가 어떻게 생겼는지 좀 이해들이 되었는지 모르겠다. 단순하게 설명하기엔 너무 복잡하고, 복잡하게 설명하면 알아먹기 어려운 것이 CPU의 구성이 아닌가 싶다. 다양한 내부 구성요소를 갖고 있는 CPU는 어떻게 동작하는 것일까?

CPU가 동작한 다는 것은 우리가 지시한 명령어와 데이터의 집합, 즉, 프로그램을 실행시킨다는 것을의미한다. 그렇다면 CPU가 동작을 하기위해서는 명령어나 데이터를 프로그램으로부터 가져와야한다. 프로그램은 컴퓨터에서 실행될 때 주메모리에 적재되어 실행되므로, CPU는 주메모리에 적재되어있는 프로그램에서 명령어나 데이터를 가져와서 CPU가 이해할 수 있는 형태로 해석하고, 해당 동작을 실행하여 생성된 결과를 저장함으로써 하나의  명령어에 대한 동작 사이클(머신사이클: machine cycle)을 마무리 한다. 이러한 동작을 반복적으로 수행함으로서 프로그램에서 지정한 작업을 처리할 수 있다. 이러한 과정을 순서대로 정리하면 다음과 같다.

  1. Fetch: 메모리에서 명령어를 가져오는 단계
  2. Decode: 명령어를 ALU나 FPU가 이해할 수 있도록 해독하는 단계
  3. Execution: ALU나 FPU가 주어진 연산을 처리하는 단계
  4. Store: 연산처리 결과를 메모리에 저장하는 단계


이렇게 순차적으로 머신사이클이 반복된다면 하나의 명령을 처리하는데 기본적으로 4단계가 걸리는 것이며, 하나의 코어만 존재하는 CPU는 다음 명령을 수행하기 위해서는 4단계가 지나가길 기다려야 한다. 그렇지만 오늘날과 같이 멀티코어를 탑재하고 있는 CPU는 동시에 여러개의 명령어를 처리할 수 있기 때문에 메모리로부터 명령어를 가져오는 효과적인 방식이 필요한데, 대표적으로 파이프라이닝(Pipelining) 방식이 널리 사용된다.

아래 그림은 파이프라이닝이 없는 단일 코어 CPU의 명령어 실행동작과 파이프라이닝으로 동작하는 쿼드코어 CPU의 명령어 실행 동작을 나타내고 있다.

출처: Understanding Computer Today and Tomorrow
이렇게 파이프라이닝과 같은 방식으로 머신사이클을 처리하는 이유는 여러개의 코어가 동시에 동작하여 작업을 재빨리 처리하도록 만드는 것이다. 하지만 여러개의 코어에서 동시에 작업을 처리하기 위해서는 프로그램을 만들때 여러개의 작은단위의 작업으로 나눠서 동시에 처리할 수 있도록 만들어줘야 한다. 때로는 반드시 순차적으로 처리해야하는 작업이 있다면, 순차적인 작업이 처리될 동안 다른 코어들은 작업진행을 못하고 쉴 수 밖에 없을 것이다.
  • 파이프라인은 우리가 바다에서 파도타기를 하는 사람들이 파도가 말려서 마치 파이프처럼 생긴 곳을 멋지게 서핑하면서 빠져나오는 것처럼 명령어를 수행하는 머신사이클이 서로 말려서 처리되는 것과 같은 것이다. 




2014년 3월 20일 목요일

CPU가 알고싶어?(Do you want to know the CPU - Central Processing Unit ?)

컴퓨터에서 가장 중요한 역할을 수행하는 부품을 하나 뽑으라면 CPU라고 할 수 있다. 열손가락 깨물어 안 아픈 손가락이 없다고, 컴퓨터의 핵심부품들은 모두가 존재 이유가 있지만 가장 중요한 역할을 수행하는 것이 바로 CPU라는데는 이견이 없을 것이다. 사람으로 말하면 CPU는 우리의 두뇌역할을 하는 것이다. 단순히 두뇌역할을 한다고 말하기에는 두뇌의 기능이나 역할이 매우 다양한 반면에 CPU가 수행하는 역할은 그렇게 많지 않다는 차이가 있지만 우리 몸이 제대로 움직이게 해주는 것은 두뇌의 역할이며, 컴퓨터가 제대로 움직이도록 전체적인 운영관리를 책임지고 있는 것이 CPU이기 때문에 두뇌와 같은 역할을 수행한다고 말해도 무리가 없다. 일반적으로 좌뇌는 논리적 능력을, 우뇌는 감성적 능력을 담당한다고하니, CPU는 좌뇌에 가까운 기능을 수행한다고 할 수 있겠다.


컴퓨터 발전의 역사는 CPU 발전의 역사라고 할 수 있다. 오늘날 우리가 사용하는 CPU는 반도체 기술에 의해서 만들어진 것으로써 마이크로프로세서(Microprocessor)라고도 불린다.

그렇다면 이런 CPU는 어떻게 구성된 것일까? 일단 CPU 내부에는 몇가지 기능별로 구분되는 모듈이 있다. 다음 그림은 CPU의 내부 구성요소를 간단하게 보여주고 있다.


위 그림에서 가운데 녹색선으로 블록처리 되어있는 부분이 CPU로써 가장 기본적인 3가지 기능을 보여주고 있다. 각각의 기능을 요약하면 다음과 같다.
  • ALU(Arithmetic Logic Unit): CPU의 가장 기본적인 기능으로 산술논리 연산을 담당
  • CU(Control Unit): 데이터와 명령어의 흐름과 ALU의 처리를 제어하는 역할을 담당
  • Cache Memory: 컴퓨터의 주메모리와 CPU사이의 속도차이를 해결하기 위해서 CPU에 내장된 속도가 매우 빠른 메모리
우리가 저작권과 컴퓨터과학 교과목에서 사용하는 교재인 "Understanding Computers Today and Tomorrow"에서는 보다 세분화된 CPU 구성요소를 나타내고 있는데 아래 그림은 이러한 세분화된 CPU 구성을 보여주고 있다.

CPU의 세부 구성
추가적인 구성요소에 대해서 알아보자.

  • FPU(Floating Point Unit): 부동소수점(실수) 연산은 ALU만으로 처리하기에는 연산량이 소요되므실수연산만을 하는 기능
  • Prefetch Unit: 컴퓨터의 동작 속도를 높이기 위해서 현재 CU가 다음에 처리해야 할 명령어와 데이터를 미리 가져오는 기능
  • Decode Unit: Prefetch Unit이 가져온 명령어를 CU가 이해할 수 있는 형태로 해석하는 기능
  • Register: 연산에 필요한 데이터나 연산결과, 명령어, 명령어 처리순서등을 일시적으로 저장하는데 사용되는 고속의 메모리(CPU의 속도와 같이 동작하며, 일반적으로 캐시메모리보다 빠름)
  • BIU(Bus Interface Unit): CPU외부에 있는 메모리나 I/O와의 연결을 위한 인터페이스

Register와 관련해서는 아래 그림에 보다 자세한 내용이 있다. 아래 그림과 같이 CPU이외에도 주메모리와 플래시 메모리, 주변장치회로까지 하나의 칩으로 구성된 것을 마이크로콘트롤러(Microcontroller)라고 한다.

아래 그림에 나온 레지스터의 종류를 간단히 살펴보자.

  • Program Counter: 기계어로 변환된 명령어가 프로그램 메모리에 저장되어있는데, 현재 CPU가 수행하고 있는 명령어의 위치(주소)를 저장하고 있는 레지스터
  • Instruction Register: Prefetch Unit이 읽어들인 명령어를 Decode Unit이 해석할 수 있도록 저장하고 있는 레지스터
  • General Register: 범용레지스터라고하며, 연산과정이나 연산후의 데이터를 일시적으로 저장하는 레지스터


CPU의 동작속도는 동일한 CPU라면 당연히 클록속도가 높은 것이 빠르겠지만 몇년 전부터 CPU제조기술의 급속한 발전은 CPU안에 CPU 코어를 여러개 탑재하여 동시에 작업을 처리할 수 있는 멀티코어(Multi Core)방식이 도입되고 있다. 이러한 CPU는 내부에 2개, 4개, 8개의 코어가 들어있다고해서 듀얼코어, 쿼드코어, 옥타코어라고 불린다. 최근 등장한 스마트폰들이 쿼드코어나 옥타코어로 구성되어있으며, i5는 듀얼코어, i7은 쿼드코어로 구성되어있다.


AMD 8-Core CPU


2014년 3월 19일 수요일

멀티미디어에 대해서 알아보자.(Let's see the Multimedia !)

스마트 기기가 대중화된 요즘은 멀티미디어를 사용하는 것이 당연시되고 있다. 영화관이나 거실에서 누리던 멀티미디어가 컴퓨터와 네트워크 기술의 발전과 더불어서 책상위(데스크톱)에서 무릎위(랩톱)로, 무릎위에서 손바닥위(팜톱)로 이동하여 즐길 수 있게 된 것이다. 위키피디아에서는 멀티미디어는 서로 다른 콘텐츠를 조합하여 이용하는 콘텐츠라고 정의하고 있다. 이것은 한 종류만 사용하는 미디어와 대비되는 개념이며, 텍스트, 오디오, 정지영상, 애니메이션, 동영상 또는 인터랙티브 콘텐츠의 형태를 조합하는 것을 포함한다.

"Multimedia refers to content that uses a combination of different content forms. This contrasts with media that use only rudimentary computer displays such as text-only or traditional forms of printed or hand-produced material. Multimedia includes a combination of textaudiostill imagesanimationvideo, or interactivity content forms." (위키피디아)

멀티미디어를 활용하는 환경과 개념을 그림하나로 간략히 보여주면 좋을 것 같은데 마땅한 것이 없다. 그나마 아래와 같은 그림을 보면 쉽게 이해되려나?




멀티미디어는 마치 그 옛날 유행했던 애니메이션의 독수리 5형제(원제 Gotcha man)의 합체와 같다. 독수리 5형제가 조종하는 비행체는 각자 독자적으로 움직이는 비행체(미디어)이지만, 합체하면 엄청난 위력을 발휘하는 비행체(멀티미디어)가 되는 것이다. 특히 악당을 쳐부수기 위해서 마지막에 피닉스로 변하는 장면은 합체된 비행체가 완전하게 다른 하나의 모습으로 변하는 것은 각자의 미디어가 합쳐져 새로운 멀티미디어가 탄생하는 모습과 같다할 것이다. 


그나저나 독수리 5형제가 나중에 실사판으로도 만들어졌는데 어찌되었나 모르겠다. 자료를 찾아보니 조악한 특수효과로 망했다고 한다.



독수리 5형제 실사판 영화 포스터

멀티미디어는 저작권적 관점에서 바라보면 저작물에 해당된다. 저작물은 어문저작물을 비롯하여 음악, 미술, 영상, 사진, 건축, 컴퓨터프로그램 등 다양한 형태의 저작물이 존재하며, 인간의 사상과 감정을 표현한 것을 저작물로 인정하고 보호하고 있다. 따라서 멀티미디어도 창의적이고 인간의 사상과 감정을 표현한 것이라면 당연히 저작권을 보호 받겠지?


2014년 3월 18일 화요일

그럼 컴퓨터 소프트웨어는 뭔데?(What is the computer software?)

앞선 포스트에서 컴퓨터 하드웨어 대하여 개략적으로 알아보았다. 컴퓨터 하드웨어는 사람으로 따지면 뼈와 근육으로 이루어진 몸에 비유할 수 있다. 운동선수나 몸이 좋은 사람에게 하드웨어가 좋다고 말하는 것과 같은 개념이다. 그렇다면 컴퓨터 소프트웨어는 컴퓨터 하드웨어가 제대로 동작하도록 만들어주는 것이며, 사람으로 친다면 두뇌활동 또는 정신(영혼)에 해당한다고 할 수 있다. 혼수상태에 빠진 사람을 식물인간이라고 말하는 것 처럼, 소프트웨어가 없는 하드웨어는 고철덩어리에 불과하다.

이렇게....


우리가 우리의 몸은 만질 수 있지만 정신이나 영혼은 만질 수 없는 것 처럼, 하드웨어는 우리가 보고 만질 수 있는 물리적인 유형의 부속품으로 이루어져 있으나 소프트웨어는 만지거나 볼 수 없는 무형의 부속(무형의 자산)이다.

무형의 자산 ? 우리학과가 다루고 있는 것이 바로 무형이 자산이 아닌가 !!

기본적으로 소프트웨어는 컴퓨터가 수행해야할 명령어를 순서대로 나열해놓은 것이다. 이들 명령어는 CPU가 읽어들여 코드를 해석하고 원하는 동작을 수행하도록 주변 하드웨어로 지시를 내리거나 연산한 결과를 메모리에 저장하도록 보내기도 한다.

우리들이 익숙하게 사용하는 소프트웨어 또는 프로그램 용어들을 몇가지 살펴보자. 안드로이드, 앱, 윈도우즈, iOS, 한글, 오피스, WoW, LoL, 스타크래프트 등등등... 많은 소프트웨어와 관련된 용어를 사용하고 있는데, 안드로이드, iOS, 윈도우즈는 컴퓨터의 기동에 필수적인 것으로 시스템 소프트웨어에 해당되며, 앱, 한글, 오피스는 응용 소프트웨어에 해당되는 것이다.

그렇다면 소프트웨어는 시스템 소프트웨어와 응용 소프트웨어로 구분할 수 있으며, 시스템 소프트웨어는 운영체제(안드로이드, iOS, 윈도우즈)와 디바이스 드라이버, 유틸리티 소프트웨어로 나뉘고, 응용 소프트웨어는 사용자들이 널리 사용하는 한글이나 오피스 프로그램, 게임용 소프트웨어, 스마트폰에서 사용하는 앱들이 포함된다.


  • 시스템 소프트웨어
  1. 운영체제는 일반 사용자가 하드웨어에 대한 지식이 없이도 손쉽게 컴퓨터를 활용할 수 있도록 하거나 앱을 실행시킬 수 있도록 하드웨어와 사용자 사이에서 중재하는 역할을 수행한다. 우리가 컴퓨터를 켜거나 스마트 기기들의 전원을 켰을 때 처음 기동되는 소프트웨어가 운영체제에 해당된다.  
  2. 디바이스 드라이버는 컴퓨터에 탑재되어있거나 연결되는 주변장치 또는 하드웨어를 소프트웨어에서 손쉽게 접근하여 사용할 수 있도록 운영체제에 설치되는 소프트웨어를 말한다. 우리가 USB메모리나 프린터를 USB포트에 처음 컴퓨터에 연결하면 우측 하단에 새 하드웨어가 발견되었다는 메시지와 드라이버 소프트웨어를 설치한다는 메시지가 나온다. 이 때 컴퓨터에 설치되는 하드웨어를 사용할 수 있도록 하는 소프트웨어가 디바이스 드라이버 또는 드라이버 소프트웨어이다.


  3. 유틸리티 소프트웨어는 사용자가 컴퓨터를 유지보수하거나 관리하는데 사용하는 소프트웨어로써 파일 매니저와 같은 것이 유틸리티의 예이다.

  • 응용 소프트웨어
    응용 소프트웨어는 사용자를 위해서 만들어진 대부분의 소프트웨어이다. 오늘날과 같은 스마트 기기 환경에서는 앱이라는 이름으로 널리 사용되고 있다. 인터넷을 브라우징하는 앱에서부터 게임, 일정관리, 문서편집기, 사진편집기, 동영상이나 음악을 재생하는 재생기 등 다양한 응용 소프트웨어가 존재한다.





컴퓨터 하드웨어가 뭐지?(What is the computer hardware?)

앞에서 컴퓨터에 대하여 소개를 하면서 컴퓨터를 구성하는 하드웨어와 소프트웨어가 있다고 했다. 그렇다면 컴퓨터 하드웨어란 무엇일까?

지금은 누구나 아이스크림이라고 부르지만 내가 어린시절에는 아이스께끼, 하드라고 불렀다. 지금처럼 크림처럼 부드럽게 만들어진 것이 아니라 물에 주스가루같은 것을 섞어서 얼린 것이기 때문에 아마도 단단해서 하드라고 불렀던 것 같다.

하드웨어(hardware)에서 하드는 단단하다는 의미이고 웨어는 제품이나 방식을 의미한다. 따라서 단단한제품 즉, 물리적으로 만질 수 있는 존재를 하드웨어라고 하겠다. 그래서 컴퓨터 하드웨어는 우리가 눈으로 보고 만질 수 있는 상태의 컴퓨터라고 할 수 있다. 일반적으로 우리가 가지고 있는 컴퓨터 하드웨어는 다음과 같은 형태로 많은 부속품들로 구성되어있다.


가정에서 사용하는 PC는 본체라고하는 박스가 있고, 그 박스를 열면 아래와 같이 여러가지 부속품들이 내장되어 있는 모습을 볼 수 있다. 물론 여러분이 처음에 컴퓨터를 구매하였을 때 내부 모습은 이렇게 깨끗한 모습을 보일 것이다.



그러나 기대와 달리 여러분의 가정에 있는 PC의 내부 모습은  얼마나 오래되었는지 알 수 도없는 먼지 투성이의 내부가 될 것이다. 이게 진정한 여러분 집에 있는 PC의 내부 모습이다. 아니라고? 한번 열어보시길..



어쨌든 컴퓨터 하드웨어에서 가장 중요한 부분은 본체이고, 본체 속에는 다양한 하드웨어 부속들이 들어가 있다. 이 가운데 CPU(Central Processing Unit)와 RAM(Random Access Memory) 모듈, 하드드라이브, 주기판(Motherboard)는 컴퓨터를 운영하는데 반드시 필요한 장치이며, Heat sink는 CPU에서 발생하는 열을 방출하는 역할을 수행한다. 물론 컴퓨터는 전기를 먹으면서 동작하니까 파워서플라이는 기본..

본체 속의 하드웨어들
세분화된 하드웨어들

이렇게 다양한 하드웨어 부속품들은 우리가 사용하는 컴퓨터를 다양하게 활용할 수 있도록 보조해주는 역할을 해주고 있으며, 아래 그림에 나타낸 것과 같이 다양한 컴퓨터 하드웨어의 형태를 볼 수 있다. 다양한 RAM 모듈의 종류와 하드디스크 종류, CPU를 탑재할 수 있는 소켓, 외부장치와 연결을 위한 포트와 슬롯의 종류 등 다양한 하드웨어가 있다. 그림을 상세히 보기 원하면 이곳을 누르면 원본을 볼 수 있다.


컴퓨터 하드웨어 도표

각 부속품 별로 상세한 내용은 나중의 포스트를 통해서 알아보자. ^^

2014년 3월 13일 목요일

컴퓨터가 뭐야?(What is the Computer?)

컴퓨터가 뭐지?

우리가 일상 생활 속에서 가장 많이 사용하는 것이 컴퓨터다. 그런데 우리가 매일 먹는 밥이 어떤 처리(과정)를 거쳐서 우리 밥상에 올라오는지를 모르고 살아가는 것처럼, 컴퓨터가 무엇인지 정확하게 모르고 살아가고 있다. 이것은 역설적으로 우리 생활 속에서 너무나 익숙하기 때문에 그 존재에 대해서 궁금해할 이유가 없어서일 수 도 있다.

우리 생활의 혁신을 가져온 컴퓨터의 역사는 그렇게 오래되지 않았다. 물론 길다면 길 수 있는 역사를 이야기할 수 있지만, 오늘날 우리가 사용하는 컴퓨터와 같은 구조를 가진 컴퓨터가 등장한 것은 이제 70~80년 밖에 되지 않았다. 더구나 우리가 개개인이 컴퓨터를 사용할 수 있는 환경을 갖춘 것은 20년도 채 되지 않는다.

일반적으로 컴퓨터의 출현시기는 19세기로 이야기를 하지만 오늘날 우리가 사용하는 프로그램이 가능한(programmable) 디지털 컴퓨터는 1940대에 등장하게 된다.

19세기에 등장한 컴퓨터는 디지털 컴퓨터가 아닌 기계식 컴퓨터나 차분기, 방직기를 위한 제어기와 같은 기능을 수행하는 것이었다.(위키피디아 참조) 이들 기계식 컴퓨터는 아날로그 컴퓨터로써 오늘날 사용하는 디지털 컴퓨터와는 다른 모습을 갖고 있다.
Difference Engine(wikipedia.org)

일반적으로 널리 알려진 현대 디지털 컴퓨터의 시초는 미국에서 1946년도에 만들어진 ENIAC (Electronic Numerical Integrator and Computer)으로 알려져 있다. 그러나 군사기밀로 알려지지 않거나 역사에서 주목 받지 못해서 사라진 컴퓨터들이 알려지기 시작하면서 ENIAC 이전에도 디지털 컴퓨터가 존재하고 있다는 사실이 밝혀졌다.(위키피디아 참조)

위키피디아의 컴퓨터 역사에 관한 자료에 의하면 1936년 독일의 Alan_Turing이 알고리즘과 계산의 수학적 기반을 다졌으며, 이를 적용한 기계를 Turing Machine 이라고 명명하였다. 이후에 보다 확장된 Universal Machine(Universal Turing Machine)의 개념을 제공하였고, 오늘날의 컴퓨터 처리 방식의 기반을 제공한 폰 노이만(John von Neumann)이 이 개념을 이어받았으며, 컴퓨터의 핵심 처리방식인 순차처리 방식이 등장하게 된다. 오늘날 우리가 사용하는 컴퓨터는 알고리즘을 완벽하게 수행하는 General Turing Machine 이라는 의미에서 Turing-complete라고 한다.

ENIAC의 등장 이전의 초기 방식 컴퓨터는 전기로 기계적 스위치를 움직이는 Electromechanical Computer 였다. 1939년 독일 엔지니어인 Konrad Zuse가 Z2를 만들었으며, 1941년에는 프로그램이 가능한 Z3를 만들었다. Z3는 2,000개의 릴레이(전자석을 이용한 스위치)를 가졌으며, 22비트, 5~10Hz의 클록 주파수를 가졌다. 초기의 Z3는 1943년 연합군의 베를린 폭격 때 파괴되었기 때문에 널리 알려지지 않았으나 1960년대에 Zuse의 회사에서 복원한 것이 뮌헨의 박물관에 전시되어있다.
Zuse Computer(복원판, 뮌헨 박물관, wikipedia.org)

순수한 전기회로로 동작하는 컴퓨터는 Tommy Flowers가수천개의 진공관으로 1934년에 만들어서 1939년에 동작하게된 전자식 전교환기가 있었으며, 1942년에는 미국 아이오와 주립대학교의John Vincent Atanasoff와 Clifford E. Berry가  300개의 진공관을 사용하여 만든 ABC(Atanasoff–Berry Computer) 컴퓨터가 최초의 자동 전자식 컴퓨터로 알려져있다. 
2차대전 중인 1943년, 독일의 암호화기인 Enigma를 해독하기 위해서 영국의 Bletchley Park이 Colossus 라는 컴퓨터를 만들어서 1944년도부터 암호해독에 사용되었다. Colossus는 최초의 프로그램 가능한 전자식 디지털 컴퓨터 이지만 Turing-complete는 아니었다.
Colossus(wikipedia.org)

1946년 미국에서는 펜실베니아 대학의 John Mauchly와 J. Presper Eckert에 의해서 ENIAC이 만들어졌는데, 이는 최초의 프로그램 가능한 전자식 디지털 컴퓨터이면서 Turing-complete 컴퓨터 였다. ENIAC은 약 18,000개의 진공관과 1,500개의 릴레이를 사용하였으며, 무게가 30톤에 200킬로와트의 전력을 소모하였고 초당 5,000회의 덧셈/뺄셈이 가능했다. 오늘날의 데스크탑 PC가 약 200와트의 전력을 소모하니까 1,000대의 PC 전력을 소모하면서 성능은 형편없었다. 물론 지금 상황에서 형편없는 것이지 1946년 당시에는 획기적인 컴퓨터이다. ENIAC은 프로그램을 변경하기 위해서 많은 케이블을 변경하여 연결함으로써 다른 프로그램으로 변경이 가능하였다.

ENIAC(wikipedia.org)

ENIAC은 제1세대 컴퓨터로 구분되며, 당시의 전자소자는 진공관이었기 때문에 진공관을 이용하여 만들어서 50만달러의 비용이 들었다. 진공관은 기본적으로 소자 하나의 크기가 크기 때문에 면적도 많이 차지하고 전력소모도 매우 크다.

1947년도에 반도체를 이용한 트랜지스터라는 전자소자가 발명되면서 진공관을 대체할 수 있게 되었다. 1955년에는 영국의 Harwell사의 원자력연구소의 전자부서에서  완전히 트랜지스터로 제작된 컴퓨터 CADET (Transistor Electronic Digital Automatic Computer – backwards)를 만들었으며, 125KHz로 동작하고 마그네틱 드럼 메모리(drum memory)를 채택하였다.

반도체를 이용한 트랜지스터의 발명은 본격적으로 디지털 컴퓨터의 혁신을 가져오게되는데, 트랜지스터는 진공관과 달리 반도체로 되어있어서 제작하는 과정에서 여러개의 트랜지스터를 한꺼번에 집적할 수 있게되었다. 이렇게 여러개의 트랜지스터가 들어가있는 것을 집적회로( integrated circuit: IC)라 불렀다. IC는 1958년 Texas Instruments사의 Jack Kilby에 의해서 처음으로 고안되었으며, 6개월 후에 Fairchild Semiconductor사의 Robert Noyce도 IC를 만들었다. Kilby는 IC를 만드는 소재로 게르마늄(Ge)을 이용하였으며, Noyce는 실리콘(Si)을 이용하였다. 실리콘은 모래(SiO2)에서 손쉽게 얻을 수 있는 원료이기 때문에 상용화가 쉽게 이루어질 수 있었다.

IC가 만들어지면서 오늘날 누구나 잘 알고있는 인텔사에서 4004라는 4비트 마이크로프로세서를 제작하면서 본격적으로 디지털컴퓨터 시대를 열어간다. 성능은 말할 것도 없고 가격도 비교할 수 없을 정도로 저렴한 컴퓨터가 등장하기 시작하는 것이다.

컴퓨터에서 연산을 담당하는 마이크로프로세서 또는 CPU(Central Processing Unit)의 발전과 함께 주변장치와 메모리 등의 발전하면서 오늘날의 컴퓨터의 모습을 갖춰가기 시작하였고, 따라서 컴퓨터는 4가지 요소로 구성된다.
  1. CPU
  2. Memory
  3. Input
  4. Output
위에서 언급된 4가지 요소는 하드웨어적인 요소이며, 하드웨어를 운영하기 위해서는 소프트웨어가 있어야 한다. 소프트웨어는  다음과 같이 2가지로 구분한다.

  1. System Software(Operating System, Utility)
  2. Application Software


2014년 3월 12일 수요일

Funny Story from "What would Google do?"(구글노믹스에서 나오는 웃긴 이야기)

출판된지는 몇년되었지만 요즘 구글노믹스(원제: What would Google do?)를 읽고 있다. 이책을 읽다가 아주 재미있는 이야기를 하나 읽었다.그 내용은 아래와 같다.

"좋다. 소비재, 소도구, 패션이 모두 구글화가 가능하다. 그러나 구글 화장지는 어떤가? 분명 화장지에 구글식 사고방식을 적용하는 것은 불가능하다. 화장실 휴지 커뮤니티는 존재하지 않을 것이다. 나는 엉덩이에 휴지가루를 전혀 남기지 않는다는 것을 강조하는 화장지 광고를 본 후 화장실 2.0 시대를 상상하기만 해도 오금이 저린다. 그건 분명히 정말 만들기 어려운 광고였다. 그런 광고는 광고가 존재하지 말아야 할 이유를 알려준다."

책을 읽다가 웃음이 터져나올뻔 했다. ^^

생각해보니 휴지가루보다는 X가루가 더 문제가 아닐까 했는데, 바로 뒤에 나오는 이야기가 토토라는 일본 브랜드에 관한 것이었다. 오늘날 우리가 비데로 잘 알고 사용하고 있는 제품이 등장한 것이다. 음 X 가루 걱정이 없어지긴 했다.


특징기반 필터링 기술(Fingerprinting)

한국저작권위원회에서 제작한 특징기반 필터링 기술에 대한 소개 영상.
특징기반 필터링 기술은 핑거프린팅 기술이라고도 불리우는데, 이는 콘텐츠가 가지고 있는 고유정보(특징)이 마치 사람의 지문과 같기 때문에 핑거프린팅 기술이라고도 불린다. 시장에서는 인간의 DNA와 같다고하여 DNA 필터링 기술이라고도 불린다. 특징DB를 구축하여 불법 저작물 또는 음란물과 같은 유해물을 차단하는데 이용할 수 있다.

특징기반 필터링 기술 소개 동영상

DRM(Digital Rights Management)에 대한 소개 동영상

한국저작권위원회에서 제작한 DRM 기술에 대한 소개 동영상.
약 5분에 걸쳐서 DRM 기술에 대해서 쉽게 설명하고 있다.

DRM 기술 소개 동영상

Watermarking 기술에 대한 설명 동영상

한국저작권위원회 정보센터의 기술연구팀에서 제작한 워터마킹/포렌식마킹 기술에 대한 설명 동영상. 약 5분정도의 길이로 아주 쉽게 이해할 수 있도록 되어있다.

워터마킹 기술 영상자료

하둡이 뭐야? (What is Hadoop?)

빅데이터라는 이야기를 들으면서 항상 함께 들려오는 소리가 하둡(Hadoop)이다. 귀엽게 생긴 노란 코끼리가 나오는 하둡이 도대체 뭐하는 것일까?

하둡은 대용량 데이터를 분산처리할 수 있는 기술이다. 대표적인 기능으로는 대용량 파일을 분산 저장할 수 있는 분산파일 시스템과 데이터를 분산되어있는 여러 컴퓨터의 자원을 이용하여 빠르게 분석할 수 있는 맵리듀스(MapReduce) 엔진을 들 수 있다.

더구나 하둡은 오픈소스소프트웨어이다. 누구나 자유롭게 사용할 수 있다. 물론 자유롭게 사용은 가능하지만 오픈소스에도 라이선스 규칙이 있기 때문에 이에 대해서 유의해야할 것이다.

하둡에 대한 자세한 글

Apache Hadoop


빅데이터가 뭐야?(What is BigData?)

빅데이터가 초미의 관심사다.
도대체 빅데이터가 뭐길래 이렇게 관심이 많을까?

컴퓨터의 처리능력 향상에 따라서 다양한 정보들이 생산된다. 대량 인쇄술의 발명이후에 인류의 지식은 급속도로 퍼져나가게 되었으며, 발생하는 정보의 양은 기하급수적으로 늘어나게 되었다. 특히, 컴퓨터 기술은 개인들이 정보를 자유롭게 생성할 수 있는 도구를 제공하였으며, 네트워크 기술은 이들 정보가 전 세계로 재빨리 퍼져나갈 수 있는 길을 제공하였다. 다수의 정보생산자들이 만들어내는 수많은 정보나 오랜 기간 누적되어온 정보들은 점차 그 방대한 양으로 인해서 유용성을 가려내기가 힘들어지고 있다.
IDC2011년도 “Digital Universe Study” 보고서2012년도 “IDC Predictions 2012” 보고서에서 디지털 정보의 생산량에 대하여 2011년도에는 1.8 ZB(zettabyte = billion terabyte)가 생산되었으며, 2012년도에는 2.7ZB, 2015년도에는 8ZB가 생산될 것으로 예측하고 있다. 아울러 기업에서 관리해야하는 정보량은 10년 뒤인 2020년에는 50배로 증가할 것으로 예측하고 있다.
 
이러한 정보량은 우리가 어림잡기가 어려운 수치이다. 이해를 돕기 위해서 블로터닷넷에서 2011년 생산된 1.8ZB의 정보량에 대한 비교 수치를 토대로 2012년도 예상 정보량인 2.7ZB의 비교수치를 아래에 적어본다.

  • 대한민국 인구 5천만명(2012623일 기준)140Byte를 가득 채운 트위터 글을 분당 3개씩 244,618년 동안 게시해야 하는 양.
  • Blu-ray Full HD 영화(20GB로 계산) 1,350억개 2시간의 상영시간으로 계산하면 한 사람이 쉬지 않고 3,082만년 동안 시청할 분량.
  • 최신 3TB 하드디스크 9억개 - 대기상태에서의 전력소모량이 3.2W이므로, 전체 정보량의 대기상태에서의 전력 소모량만 288KW로 최근에 가동을 준비하고 있는 원자력 발전소(100KW 발전용량) 3기를 지어야만 하드디스크를 유지할 수 있는 분량. 가격으로는 대당 27만원의 최신기종의 경우 243조원이 소요되어, 우리나라 2012년도 일년 예산인 325조원의 74.8%의 비용.
 
위에 표시된 비교자료는 2012년에만 발생될 것으로 예상되는 정보량에 대한 것이다. 이러한 정보들이 꾸준히 누적된다는 것을 감안한다면, 그 양이 얼마나 큰 것인지를 가늠할 수 있을 것이다. 더욱이 20101ZB의 벽을 넘어선 이후로 정보 생산량의 증가속도는 매년 50%에 달하고 있으며, 디지털 CCTV(Closed Circuit TV)의 설치 증가와 자동차 블랙박스의 장착 의무화 같은 제도는 디지털 정보생산량의 증가를 더욱 부추기고 있다.
이렇듯 엄청난 속도로 증가하는 디지털 정보는 이제까지 다뤄보지 못했던 대용량의 비정형화된 데이터(빅데이터)이며, 이들 대용량 비정형 데이터로부터 유의미한 결과를 얻어내기 위해서는 빅데이터의 저장에서부터 관리 및 활용을 위한 새로운 기술을 필요로 한다.
 
빅데이터는 새로운 것인가?
 
앞에서 언급한 것처럼 디지털 기술에 의해서 정보생산량이 기하급수적으로 증가하고 있는 것을 알 수 있다. 그러나 현재 생산되는 정보량에는 미치지 못하더라도 인류의 오랜 역사기간 동안 수많은 기록들이 존재하고, 17천 년 전의 라스코/알타미라 동굴벽화는 최초의 문화유산에 대한 기록이며, 기원전 4,000년경에는 수메르인들에 의해서 점토판에 쐐기문자로 기록이 남겨졌다. 이후로 빅데이터라는 개념이 자리 잡기까지 무수히 많은 정보들이 생산되었을 것인데, 선사시대부터 지금까지의 많은 정보가 쌓여있다면 이것이 빅데이터가 될 것이다. 그렇다면, 지금 우리가 말하고 있는 빅데이터는 새로운 것이라고 할 수 없으며, 과거에도 수많은 데이터를 갖고 있었으나 저장장소의 제한으로 당장의 유용한 데이터만을 남기고 버릴 수밖에 없는 구조적 한계가 있었다.
최초의 하드디스크가 나온 것은 1956IBM에서 출시한 RAMAC(Random Access Method of Accounting and Control)이라는 제품으로 24인치 원판 50개를 쌓아서 만들었으며, 용량은 3.75MB에 불과하지만 가격은 5만 달러에 달하였다. 당시 발표는 5MiB라고 하였으나, 6bit단위로 오늘날의 8bit단위와 다르기 때문에 정확하게는 3.75MB이며, 따라서 1MB당 가격이 13333달러에 달하였다. 필자가 1989년도에 20MB 하드디스크를 당시에 20만원에 구입하였으며, 1MB1만원으로 약 1,467배가 하락하였으며, 오늘날 3TB의 최신형 하드디스크가 27만원이므로 1GB90원에 불과한 수준으로 약 16,296만 배 하락하였다
 
이와 같은 저장장치 가격의 하락은 그동안 저장장치의 가격이 높아서 버려야만 했던 사소한 데이터들 까지도 모두 저장할 수 있는 환경을 제공하게 되었으며, 점차 쌓여가는 데이터들이 빅데이터를 구성하게 되고, 이를 다룰 수 있는 새로운 기술에 대한 요구가 높아지게 된 것이다. 빅데이터에 대한 관심도는 구글 검색에서 검색어 출현빈도를 나타내는 구글 트렌드에서도 년대별로 확인할 수 있다.
 

 
구글 트렌드에서 확인할 수 있는 것처럼 빅데이터에 대한 트렌드가 나타나기 시작하는 시점은 2006년이며, 이 시점은 하드디스크 저장장치의 GByte당 단가가 1달러 이하로 떨어지는 때이다. 이러한 관점에서 바라본다면 빅데이터는 어느 날 갑자기 탄생한 것이 아니라 많은 사람들이 관심을 갖고 지켜볼 수 있는 주변환경이 갖추어지면서 드러난 개념이라고 할 수 있다.
 
빅데이터를 위한 기술과 활용
 
빅데이터는 앞에서 살펴본 것처럼 헤아릴 수 없을 정도로 많은 데이터를 의미하고 있다. 그렇다면 빅데이터를 위한 기술은 어떠한 것이 있을까? IDC의 칼 올롭슨은 크기가 큰 데이터를 처리한다고 모두가 빅데이터 기술은 아니라고 하였으며, IBM3V, 즉 다양성(Variety), 규모(Volume), 속도(Velocity)라는 빅데이터의 세 가지 요소 중에서 2가지 이상을 만족하면 빅데이터 기술이라고 정의하고 있다.
McKinsey Global Institute의 빅데이터 관련 보고서IDG Korea에서 발간한 빅데이터의 이해에서는 빅데이터 기술을 3가지로 구분하고 있으며, 이는 빅데이터 분석기술과 인프라 기술, 표현기술이다. 빅데이터 분석기술은 거대한 데이터를 분석하는 기술과 방법론으로써 통계처리, 데이터마이닝, 데이터 융합, 자연어 처리, 회귀분석, 기계학습, 최적화, 신경망, 패턴인식, 예측 모델링, 시뮬레이션 등 다양한 분석 기술을 포함하고 있다. 인프라 기술은 빅데이터를 수집하고 처리, 관리하는 기술로써 빅 테이블(분산 데이터베이스), Business intelligence(BI), 분산 데이터베이스(카산드라), 클라우드 컴퓨팅, 데이터웨어하우스, 분산 시스템, 분산 파일 시스템, 맵리듀스(MapReduce), 메쉬업(Mashup), 메타데이터 등을 포함하고 있다. 빅데이터의 표현기술은 데이터시각화로 알려져 있으며, 분석 처리된 결과를 사람들이 잘 이해할 수 있도록 보여주는 것으로 태그구름이나 클러스터그램, 이력플로우, 공간정보의 흐름과 같은 데이터시각화 예가 있다.
 

그림 태그구름의 예
 
그렇다면 빅데이터와 함께 많이 등장하는 하둡(Hadoop)은 어떤 기술인가? 하둡은 오픈소스소프트웨어 프레임워크로써 아파치 v2 라이선스 하에서 활용할 수 있는 빅데이터 인프라 기술이다. 하둡은 하둡 분산 파일 시스템(HDFS: Hadoop Distributed File System)을 이용하여 거대한 클러스터에 존재하는 서버들 간에 대용량의 파일을 신뢰성있게 저장하도록 설계하였으며, 하둡 맵리듀스(Map/Reduce)라는 거대한 분산처리를 표현할 수 있는 자바기반의 프레임워크 와 함께 빅데이터의 핵심 기술로 알려져있다. 이러한 파일 시스템과 분산처리 플랫폼에 추가적으로 검색이나 데이터 수집 시스템, 데이터 분석 프레임워크를 추가하여 인프라를 구축한 것이 하둡이다.
이러한 빅데이터는 다양한 분야에 응용될 수 있으며, 현재 여러 분야에서 비용절감에 효과적으로 이용되고 있다. 대표적으로 맥킨지 보고서는 미국 의료서비스분야, 유럽의 공공서비스, 전 세계 개인 데이터, 미국의 소매점, 제조업 분야에서 비용과 생산성에서 많은 이득을 얻는 것으로 보고하고 있다.