컴퓨터의 발달과 사물인터넷의 등장
ⓒ 공개SW역량프라자 / 2016-07-12
2007년 스티브 잡스가 소개한 iPhone은 전 세계를 스마트 디바이스의 시대로 이끌었다. 이러한 스마트 디바이스의 시대는 1990년대부터 발전해온 네트워크를 만나서 다시 사물인터넷(IoT)라는 새로운 패러다임으로의 전환이 일어나게 된다.
스마트폰은 2010년 iPad와 함께 스마트 패드로 발전하고, 2011년 삼성전자와 LG 전자와 함께 스마트TV로 발전하였으며, 2012년 소니와 패블의 스마트워치, 2013년 구글 글래스 등으로 계속 진화를 거듭하였다. 이러한 스마트 디바이스들의 발전은 웨어러블 장치라는 인간의 삶을 보다 편리하게 만드는데 기여하고 있다.
2차 세계 대전을 통해서 컴퓨터가 만들어지기 시작한 이후로 1960년대의 메임 프레임의 시대, 1980년대의 미니 컴퓨터의 시대, 1990년대의 PC의 시대, 2000년대의 인터넷의 시대와 스마트폰의 시대에 이어서 2010년대에 소셜 네트워크(SNS)의 시대를 맞이하고 있다. 이러한 소셜 네트워크의 시대는 다시 한차례 진화하여 사물인터넷 시대로 나아가고 있다. 이번 달에는 컴퓨터의 발전 과정에서부터 오픈소스의 등장 그리고 오픈소스를 이용한 하드웨어에 대해서 살펴보도록 하겠다.
[목차]
1. 제3의 물결과 정보시대 2. 컴퓨터의 발전과 프로그래밍 언어의 등장 3. 해커 문화와 PC의 등장 4. 냉전의 시대와 네트워크의 발전 5. 게임에서 위대한 탄생 그리고 자유로운 소프트웨어 정신 6. 리눅스의 등장과 발전 7. 사물 인터넷과 오픈 소스 하드웨어 |
1. 제 3의 물결과 정보시대
얼마 전에 타계한 앨빈 토플러의 저서, "제 3의 물결"에서 이미 이야기한 것과 같이 원시 시대에 수렵으로 생명을 이어가던 인류는 BC 7천년경 신석기 혁명(Neolithic Revolution)으로 불리우는 농업 혁명을 통해서 정착을 시작하고 국가와 문화를 만들 수 있었고, 다시 18세기 중반부터 시작된 산업 혁명으로 인구를 폭발적으로 증가시킬 수 있었다. 그리고 2차 대전을 거치면서 정보 혁명에 이은 새로운 시대를 맞이하였다.
<그림1> 제 3의 물결
농업혁명에서 산업혁명까지 8~9천년이라는 시간이 걸렸지만, 산업혁명부터 정보혁명까지는 불과 2~3백년도 걸리지 않았다. 새로운 혁명의 시기는 점점 짧아지고 있으며, ICT(Information Communication Technology) 기술은 새로운 시대를 견인하는데 결정적인 역할을 담당해왔다.
2. 컴퓨터의 발전과 프로그래밍 언어의 등장
1642년 파스칼에 의해 최초로 덧셈과 뺄셈이 가능한 기계식 컴퓨터가 만들어지고 라이프니츠에 의한 곱셈과 나눗셈이 가능한 컴퓨터가 등장하게 되었다. 근대적인 컴퓨터는 19세기의 찰스 배비지에 의해서 설계 되었으며, 최초의 프로그래머인 에이다 러브레이스에 의해서 루프문과 조건문 등의 현대의 프로그래밍 언어에서 사용되고 있는 알고리즘이 고안되기도 하였다.
<그림 2> 에이다 러브레이스(주1)와 찰스 배비지의 차분기관 2호(주2)
세계 최초로 독일의 콘트라 추제가 개발한 Z1(주3)과 미국 ABC 아타나소프-베리 컴퓨터(Atanasoff–Berry Computer), 애니악(ENIAC)이 등장하였다. 애니악은 배선판의 전선의 배열을 바꾸는 방식으로 계산을 하는 전형적인 안티키티라(주4) 형의 컴퓨터였다. 애니악은 2차 대전에 사용되던 컴퓨터였는데, 개발 목적 자체가 탄도 계산을 위해서 개발되었다. 하지만 어마어마한 전력 소모와 소음 그리고 발열 등의 문제를 가지고 있었다. 이러한 컴퓨터로 애드삭(EDSAC)은 애니악 보다 한 단계 향상된 컴퓨터였는데, 최초로 프로그램을 내장한 방식을 사용하였다.
<그림 3> 아타나소프-베리 컴퓨터(주5)와 애니악(주6)
이러한 구조는 1944년 IBM과 수학자 에이컨과 함께 개발한 Mark I에 의해서 크게 변화하게 된다. 천공 카드라는 구멍이 뚤린 종이를 이용해서 프로그래밍을 할 수 있었고 다시 1947년 하버드 대학교에 의해 Mark II가 발명되었다. Mark II에서 그 유명한 그레이스 호퍼에 의해 버그(Bug)가 발견되기도 하였다.
이러한 프로그래밍이 가능한 컴퓨터들의 등장은 새로운 프로그래밍 언어들의 등장을 가능하게 하였는데, 1954년 FORTRAN(Fortran)이 등장하고 1959년 코볼(COBOL, COmmon Business-Oriented Language, 사무 지향 보통 언어)이 등장하였다.
3. 해커 문화와 PC의 등장
1960년대와 1970년대 미국은 히피(Hippie) 문화의 시대였다. 베트남 전쟁과 케네디와 마틴 루터 킹의 암살 등 어두운 사회에서 평화와 자유를 외치면서 이성보다 감성을 앞세운 인간성의 회복과 자연으로의 복귀를 주장하는 운동이였다. 이렇게 히피 문화를 통한 사회에 불어온 개인의 가치와 자유로운 삶은 컴퓨터의 세계에도 그대로 밀려 들어왔다.
해킹(hacking)이라는 용어는 1960년대 MIT의 대학의 모형 기차 동아리에서 전기 기차의 트랙이나 스위치를 조작하는데서 나왔다. 1970년대의 해킹은 무료 전화를 이용하기 위해 것으로, 1971년 월남전에 참가하고 있었던 존 드래퍼가 군용식량에 있는 캡틴 크런치이라는 시리얼에 함께 있던 호루라기를 이용해서 무료통화를 시도한 것이다. 이러한 방법을 에스콰이어이라는 잡지에 "파란 상자(blue box)의 비밀"이라는 기고를 통해 제작법을 공개하면서 여러 해커 집단들이 생겨나게 되었다.
미국의 유명한 해커 그룹으로 하버드와 MIT 를 중심으로 하는 미국 동부의 해커 그룹과 스탠포드대, 버클리대를 중심으로 하는 미국 서부의 해커 그룹들이 있었는데, 미국 서버의 해커 그룹에는 그 당시의 대학생이었던 애플의 설립자 스티브 잡스와 스티브 워즈니악 그리고 빌 게이츠 등의 다양한 사람들이 활동하고 있었다.
처음에 전화기로 시작했던 해킹은 점차 컴퓨터로 옮겨지게 되었다. 1971년 일본 비지콤(Busicom) 사의 계산기 라인에 탑재하기 위해 만들어진 최초의 싱글 칩 마이크로 프로세스의 인텔 "4004"의 등장을 시작으로 컴퓨터는 위대한 발전을 하기 시작한다. 1974년 최초의 상업용 조립식 컴퓨터인 알테어 8800가 등장하고, 1976년 최초의 개인용 컴퓨터인 애플 I(Apple I)가 등장하였다. 그리고 1977년 애플 II가 등장하여 개인 컴퓨터의 시장이 크게 활성화되기 시작하였고 1979년에는 미국에서만 50만대가 판매되었다. 이러한 개인 컴퓨터는 1981년 IBM이 PC를 만들면서 크게 확대되기 시작한다.
애플 사는 1976년에 스티브 워즈니악과 스티브 잡스에 의해서 창업되었다. 마이크로소프트가 애플 II에 베이직을 공급하면서 성장을 본격화하고, IBM에 MS-DOS를 공급하게 되면서 급성장하게 된다. 애플이 다시 매킨토시를 생산하면서 주요 소프트웨어를 마이크로소프트가 개발하였다.
4. 냉전의 시대와 네트워크의 발전
2차 대전에서 독일과 일본이 패망한 이후로 세계의 주권은 전쟁의 승자인 미국과 소련에게 넘어갔다. 2차 대전에 미국이 일본 히로시마에 떨어트린 리틀 보이 이후로 소련에서도 원자폭탄 개발에 성공하고 이후 양국은 수소폭탄 개발에까지 이르게 된다. 두 열강은 핵폭탄 전쟁에 불을 지피게 되는데1950년대 말 소련에 의해 행해진 우주 공간의 핵실험은 미국을 공포로 몰아 넣었다.
2차 대전이 끝나고 독일의 V2의 로켓 기술을 손에 넣은 소련은 1957년 세계 최초의 인공위성인 "스푸트니크(Спутник)(주9)" 1호를 발사하였다. 스푸트니크 1호는 미국에 핵탄두를 실을 수 있는 대륙간 탄도 미사일을 의미한다. 당시 인공위성을 발사하는 것은 국가 기밀 사항으로 미국은 사전에 미사일에 대해 인지하지 못했기 때문에 더욱 충격적인 사건이었다.
인공위성이 발사된 후 미국에서도 이에 대항하기 위한 계획으로 미국은 ARPA(Advanced Research Projects Agency)(주10), NASA라는 2개의 기관을 만들고 새로운 우주경쟁에 들어가게 된다. 그 당시의 컴퓨터는 아주 비싼 물건으로 사무실 하나 만큼의 큰 공간과 많은 전력을 소비하였다. 주로 대학교나 연구기관, 국방부와 같은 곳에 설치되었는데, 연구를 위해서는 이러한 컴퓨터를 연결할 필요가 있었다. 이러한 컴퓨터들을 연결하기 위해서 시작된 프로젝트가 아파넷(ARPAnet)이다. 아파넷은 1969년부터 연구가 시작되었으며, TCP/IP 등의 다양한 개념들이 추가되었다. 아파넷은 더욱 발전하여 현재의 인터넷이 되었다.
5. 게임에서 위대한 탄생 그리고 자유로운 소프트웨어 정신
1960년대 미국의 컴퓨터 업계였던 GE(General Electronics)는 경쟁사였던 IBM의 360/67 머신에 대응하기 위한 새로운 운영체제를 계획하고 만들게 된다. 이 새로운 운영체제가 바로 멀틱스(Multics)인데, 시분할 운영체제의 효시로 1964년부터 GE, 벨 연구소, 허니웰(Honeywell) 등과 함께 개발을 시작하였다.
원래 개발을 10년 계획으로 잡았지만 지체되자 벨 연구소는 1969년에 프로젝트를 중지하게 된다. 이렇게 중단이 되자 GE는 1970년 컴퓨터 사업을 허니웰에 매각한다. 벨 연구소에서 이 멀틱스 개발에 켄 톰슨(Ken Thompson)과 데니스 리치(Dennis Ritchie) 등의 연구원들이 참여한다.
<그림 5> 데니스 리치와 켄 톰슨(주11)
켄 톰슨은 연구 중에 틈틈이 GE635 머신에서 스페이스 트래블(Space travel)이라는 게임을 개발하고 있었다. 하지만 벨 연구소가 멀틱스의 개발을 중지하자 GE635 머신을 회수해갔는데, 이 게임을 하기 위한 방법을 찾던 중에 벨 연구소에 사용되지 않던 PDP-7 머신을 발견한다. PDP-7에는 기본적인 어셈블러를 비롯한 소프트웨어가 전혀 없었기에, 같은 연구원였던 데니스 리치의 도움으로 게임을 실행할 수 있는 다양한 소프트웨어들을 개발하기 시작한다.
이러한 소프트웨어는 새로운 운영체제의 탄생으로 이어지게 되는데, 기존의 멀틱스가 여러 개를 지원한다는 멀티(Multi)라는 의미를 가졌다면, 단일이라는 의미의 유니(Uni)를 붙여서 유닉스(UNIX)라는 운영체제를 만들게 되었다. 최초의 유닉스는 어셈블러로 작성되었지만 1973년에 C 언어로 다시 작성된다. C언어는 1967년 마틴 리차드(Martin Richard)에 의해서 개발된 BCPL을 켄 톰슨(Ken Thompson)(주12)이 B언어로 바꾸고 데니스 리치가 다시 C 언어로 발전시켰다.
운영체제에 어셈블러가 아닌 고급언어로 작성된 것은 과연 혁명적인 일이었다. 어셈블러는 기기에 의존성이 무척 강했기 때문에 새로운 기기에 운영체제를 실행하기 위해서는 처음부터 다시 작성해야 했다. 게다가 어셈블러는 고급 언어에 비해서 가독성이 떨어지고 코드의 양도 많아져서 운영체제를 개발하는데 많은 전문가와 시간이 소요되었다.
하지만 운영체제를 고급언어로 작성하게 되면 기기의 의존성이 많이 사라지게 되고, 다시 작성해야하는 코드의 양도 상당이 적어진다. 소스코드의 가독성이 높아지므로 코딩이나 버그를 잡는 것도 용이하며 개발시간도 줄어들게 된다. 이에 유닉스는 수많은 기기로 포팅 할 수 있고 C언어 또한 중요한 프로그래밍 언어로 자리잡게 된다.
최초의 유닉스는 미국의 벨 연구소에서 개발되었지만 1970년대 중반에 버클리 대학교에 전해지면서 BSD 유닉스라는 운영체제로 발전한다. BSD의 커널 개발자이가 미국방성의 ARPA와 함께 네트워크를 개발하고 있었던 빌 조이가 BSD에 네트워크의 TCP/IP 스택을 포함하면서 유닉스에 네트워크 통신기능이 포함되게 된다.
하지만 이렇게 발전하던 유닉스도1984년 어려움에 부딪친다. 벨 연구소(주13)의 모 회사가 AT&T Corp인데, 이 회사는 1885년 뉴욕 시에서 전화기의 발명가 알렉산더 그레이엄 벨에 의해 설립되었다. AT&T는 1980년대 초까지 미국의 통신 시장의 90% 이상을 점유하고 있었는데, 독과점 때문에 컴퓨터 분야로는 진출할 수 없었다. 하지만 1983년에 회사가 5개로 분할되면서 독과점이 깨지게 되었고, 벨 연구소는 유닉스의 라이선스 문제로 버클리 대와 법적 소송을 겪는다.
AT&T에서 사용하고 있는 유닉스(System V) BSD에서 개발된 TCP/IP가 들어가 있다는 것이 발견된 이후로 소송은 합의가 되었지만 유닉스 소송은 여러가지 문제를 낳게 된다. BSD 개발에 소요될 비용을 소송 비용으로 처리하면서 BSD 연구 개발은 1990년 중반을 끝으로 중단되었다.
1980년대 해커 공동체는 상업화된 소프트웨어에 의해서 사라지게 될 운명에 처하게 되고 여러 가지 정황상 새로운 움직임이 나타나게 되는데, 바로 자유 소프트웨어 운동이다. 1985년 리차드 스톨만은 자유 소프트웨어 재단(Free Software Foundation)을 세우고 GNU 프로젝트를 시작한다. 1987년 자유롭게 사용할 수 있는 GCC(GNU Compile Collection)(주14) 등을 발표하고, 이러한 자유 소프트웨어는 1991년 핀란드의 리눅스 토발즈(Linus Torvalds)에 의해서 발표된 리눅스를 시작하는 원동력이 된다.
6. 리눅스의 등장과 발전
1991년에 발표된 리눅스는 수많은 해커들의 도움으로 비약적인 발전을 하게 된다. 1994년에 안정화된 버전 1.0이 발표되고 1996년에 버전 2.0이 발표된다. 1989년에 발표된 웹(Web)이 폭발적으로 확산되는데 리눅스가 큰 역할을 하게 된다. 지금도 웹 쪽을 이야기할 때 LAMP를 이야기하는데, 리눅스(Linux), 아파치(Apache) 웹 서버, MySQL 혹은 MariaSQL 데이터베이스, 웹 개발 언어인 PHP를 의미한다. 자유롭게 사용할 수 있는 리눅스는 1990년대에 서버 시장에서 가장 많이 사용되는 운영체제로 등극한다.
이러한 리눅스는 다시 2000년 초중반에 임베디드 시장에 진출한다. 1999년 1월 25일에 발표된 리눅스 커널 2.2부터 MMU가 없는 ARMv7과 같은 CPU에서 리눅스를 사용할 수 있도록 μClinux 프로젝트가 시작되면서 리눅스는 임베디드 분야에서 사용된다. 별도로 운영되고 있었던 μClinux 프로젝트는 2003년 12월에 발표된 리눅스 커널 2.6부터 커널의 정식 소스코드에 포함되기 시작했으며, 임베디드에서 안정적으로 사용되는 리눅스를 이용해서 다시 새로운 플랫폼에 적용하려는 시도가 생기게 된다.
또 2005년 노키아의 마에모(Maemo), 2007년 인텔의 모블린(Moblin)과 리모 재단(Limo Foundation)의 리모(LiMO), 2008년 구글의 안드로이드(Android), 2011년 9월에 발표된 리눅스 재단(Linux Foundation)의 타이젠(Tizen)까지 다양한 스마트 플랫폼에 적용되었다. 현재 세계에서 가장 많이 사용되고 있는 운영체제가 바로 리눅스이며 모바일, 스마트TV, 스마트카, 스마트홈 등의 사물인터넷 시대에서도 가장 중요한 운영체제가 될 것이다.
리눅스와 다양한 오프 소스를 이용한 스마트 플랫폼가 널리 사용되면서부터 안드로이드 기반의 스마트폰이나, 타이젠 기반의 스마트 TV와 같은 새로운 스마트 시대가 열리게 되었다. 스마트 디바이스의 발전으로 오픈 소스를 활용한 새로운 하드웨어의 등장이 이루어지게 되었는데, 이것이 바로 오픈 소스 하드웨어이다.
7. 사물인터넷과 오픈 소스 하드웨어
사물인터넷은 IoT로 Internet of Things로 이야기할 수 있다. 한글로 번역하면 “인터넷에 연결된 것들”이라고 할 수 있는데 네트워크를 통해 연결되어 있는 스마트 디바이스들이라고 할 수 있을 것이다. 기존의 웹(Web) 시대에서는 인간이 네트워크의 중심에 있었다면, 사물인터넷의 시대에서는 바로 스마트 디바이스가 중심에 있다.
<그림 6> 스마트 디바이스의 발전(주15)
사물인터넷의 발전에는 유비쿼터스(Ubiquitous)가 있다. 유비쿼터스는 라틴어 'ubique'를 어원으로 '동시에 어디에나 존재하는, 편재하는'이라는 의미를 가지고 있는데, 시간과 장소에 관계없이 언제, 어디서나 네트워크에 접속하여 정보통신 서비스를 이용할 수 있는 환경을 의미한다.
이러한 유비쿼터스라는 용어는 1974년에 니콜라스 네그로폰테 MIT대 교수가 네덜란드의 세미나에서 "우리는 유비쿼터스적인(어디든 존재하는) 분산된 형태의 컴퓨터를 보게 될 것입니다. 아마 컴퓨터라는 것이 장난감, 아이스박스, 자전거 등 가정 내 모든 물건과 공간에 존재하게 될 것입니다.”라고 말하면서 등장하였다.(주16)
실질적인 시작은 1988년에 제록스 연구소의 마크 와이저(Mark Weiser)가 주창한 유비쿼터스 컴퓨팅에 있다. 마크 와이저는 세 편의 논문을 통해 '유비쿼터스컴퓨팅' (ubiquitous computing), '보이지 않는 컴퓨팅' (invisible computing), '사라지는 컴퓨팅' (disappear computing)이라는 유비쿼터스컴퓨팅의 기본적인 철학 개념을 제안했다.(주17)
<그림 7> 마크 와이저와 유비쿼터스 컴퓨팅(주18)
유비쿼터스는 2000년대 중반에 유비쿼터스 센서 네트워크(USN) 등의 개념들과 함께 발전을 시도했지만 그 당시의 네트워크의 기술과 디바이스의 한계로 크게 성공하지 못하였지만, 무선 네트워크 서비스인 Wibro 등의 사물인터넷을 위한 네트워크 인프라를 구축할 수 있도록 하였다. 이러한 유비쿼터스는 2000년대 말에 등장해서 발전한 스마트 디바이스와 만나 사물인터넷이라는 형태로 발전되게 된다.
이러한 스마트 디바이스들은 다양한 형태로 발전해왔다. 2007년 애플이 아이폰을 발표한 이후로 기존의 피처폰(Feature Phone)의 시대에서 스마트폰의 시대로 시장은 급격히 변화하였다. 2010년 애플은 iPad를 출시하면서 다시 태블릿 / 스마트 패드의 시대를 열었으며 2011년 삼성전자와 LG 전자의 스마트 TV와 함께 새로운 스마트 TV의 시대가 열렸다. 2012년 패블과 소니는 각각 스마트 워치를 출시했으며, 2013년 구글은 구글 글래스라는 안경형 스마트 디바이스를 출시하였다.
사물인터넷(IoT ; Internet of Things)은 사물(Things)과 인터넷(Internet)이라는 두 개의 단어가 결합되어 있다. 인터넷은 웹(Web)과 같은 네트워크 통신을 의미하고, 사물은 스마트 디바이스나 전자기기들을 의미한다. 사물인터넷이 이슈가 되면서 사물을 쉽게 만들기 위한 제품이 필요했는데, 리눅스나 기타 오픈 소스를 활용하는 다양한 하드웨어들이 등장하고 있다.
<표 1-1> 다양한 오픈 소스 하드웨어
분류 | 아두이노 |
라즈베리 파이 |
비글보드 |
인델 갈릴레오 |
엔비디아 젯슨(JetsonTM) |
삼성 아틱 (ARTIKTM) |
주요 모델 |
Uno(우노) R3 |
RPi3 B |
비글본 블랙 |
GALILEO GEN 2 |
Jetson TK1 |
ARTIKTM 5 |
가격 |
$24.95 |
$35 |
$55 |
$70 |
$192 |
$99 |
CPU |
ATmega 328P |
ARM Cortex-A5 64비트 쿼드 코어 |
OMAP3530 |
Quark SoC X1000 |
Cortex-A15 쿼드코어 |
Exynos Cortex-A7 듀얼코어 |
16MHz |
1.2GHz |
1GHz |
400MHz |
2.3GHz |
1GHz |
|
메모리 |
2KB |
1GB |
512MB |
256MB |
2GB |
512MB |
리눅스 |
지원 |
지원 |
지원 |
지원 |
지원 |
지원 |
아두이노(Arduino), 라즈베리 파이(Raspberry Pi), 코드버그(Codebug), 리틀비츠(littlebits), 카노(kano)(주19), 비글보드(BeagleBoard), 인텔의 갈릴레오 보드와 에디슨, 엔비디아(nVIDIA) Jetson TK1/TX1, 삼성전자의 아틱(ARTIKTM) 등의 다양한 오픈 소스 하드웨어들이 사용되고 있다.
사물인터넷에서 사용되는 기기에는 통신 기능이 크게 필요 없는 전구나 가전제품들을 제어하는 간단한 제품에서부터 인공지능 제품까지 다양한 제품들이 있는데, 이 중에서 가장 대표적으로 많이 사용하는 것이 바로 아두이노와 라즈베리 파이이다.
아두이노는 이탈리아의 마시모 반지 교수가 개발한 임베디드 보드로 이탈리아의 예술성과 하드웨어를 접목할 수 있도록 설계되고 제작되었다. Uno, Due, Tre 와 메가(Mega), 제로 등의 다양한 모델(주20)을 제공하고 있고, 메인 프로세서는 아트멜(Atmel) 기반으로 해서 성능이 낮지만 쉽게 하드웨어의 제작이 가능하고 가격이 저렴하다는 장점을 가지고 있다.
스케치(Sketch)라는 개발 환경을 사용하고 있는데, 이전의 임베디드 보드들이 디바이스 드라이버나 미니컴 등의 다양한 설정을 해야하는 것과는 다르게 간단히 개발환경만 설치하면 모든 것이 설정되므로 쉽게 사용할 수 있으며, 비교적 쉬운 개발 언어를 통해서 여러 하드웨어들을 제어할 수 있다.
<그림 8> 아두이노와 개발환경인 스케치(주21)
하드웨어가 오픈되어 있기 때문에 간단하게 원하는 형태로 제작이 가능하고, 비교적 사용하기 편리해 아이들을 대상으로 한 교육부터 산업계의 현장에 이르기까지 많이 사용되고 있다. 특히 구글(Google)에서는 안드로이드의 IoT 연결 기기로 아두이노 메가(Arduino Mega 2560)를 선정해 안드로이드 NDK 개발 환경을 지원하고 있다.
라즈베리 파이는 2012년 1월 29일에 영국의 라즈베리 파이 재단에서 기초 컴퓨터 과학 교육을 목적으로 발표한 오픈 소스 하드웨어(주22)로 5~35$의 낮은 가격으로 판매되고 있으며, ARM 기반의 빠른 속도와 리눅스를 사용할 수 있어서 많은 인기를 끌고 있다.
<그림 9> 라즈베리 파이 3(주23)
모델은 크게 몇 종류로 구분할 수 있는데, 5$의 라즈베리 파이 제로와 20$로 라즈베리 파이 A+, 그리고 35$의 라즈베리 파이3 B 모델 등으로 구분할 수 있다. 라즈베리 파이는 라즈비안(Raspbian)이라는 우분투 기반의 리눅스를 기본적으로 지원하고 있으며 우분투, 페도라 등의 다양한 리눅스 배포판 이외에도 마이크로소프트의 윈도우 10(MS-Windows 10)과 타이젠(Tizen)(주24), 안드로이드도 사용할 수 있다.
주요 개발 언어로 파이썬(Python), BBC 베이직, C, C++, 자바, 루비, 스크래치(Scratch) 등의 다양한 프로그래밍 언어를 지원하고 있으며, 앞에서 설명한 블록 기반의 언어인 스크래치도 지원하고 있다. 또한 GPIO를 이용해서 다양한 하드웨어를 연결하고 제어할 수 있다.
맺음말
사물인터넷 시대의 중심에는 리눅스(Linux)를 필두로 하는 오픈 소스(Open Source)와 오픈 소스 하드웨어 플랫폼이 자리잡고 있다. 리차드 스톨먼(Richard Matthew Stallman)의GNU(GNU's Not UNIX)에 의해서 시작된 오픈 소스 운동은 리눅스나 GNOME 그리고 KDE등의 수많은 오픈 소스 프로젝트를 가능하게 하였는데, 이러한 오픈 소스는 다시 아두이노(Arduino)와 라즈베리 파이(Raspberry pi), 코드버그(Codebug), BBC micro:bit와 같은 오픈 소스 하드웨어와 위키디피아(Wikidepia)나 TED(Technology, Entertainment, Design)와 같은 오픈 컨텐츠에도 영향을 끼쳤다. 다양한 오픈의 정신과 여러 플랫폼의 융합을 통해서 새로운 사물인터넷의 시대가 널리 펴져나가고 있는 것이다.
사물인터넷의 기본 요소는 사물(Things)과 통신(Internet)으로 크게 구분할 수 있는데, 사물을 위한 하드웨어나 센서와 같은 장치의 개발과 사용이 중요하다. 사물인터넷이 발전하면 그와 관련된 개발자들도 많이 필요할 것으로 예상되는데, 세계의 많은 나라들이 IT 개발자를 키우기 위해 노력하고 있다.
영국이나 미국에서도 이와 관련된 개발자 확충을 위해서 초등학교부터 IT 개발 교육을 시작하고 있으며, 대한민국도 2017년의 중학교 SW 의무교육에서부터 2018년 초등학교와 고등학교 SW 의무교육에 나서고 있다. 이렇듯 사물인터넷은 개발자들에게도 새로운 기회가 되고 있다. 또한 다양한 오픈 소스와 오픈 소스 하드웨어를 이용하면 교육에서부터 다양한 시제품의 개발까지 개발자에게 보다 더 큰 세상으로 날아오를 수 있는 날개를 달아줄 것이다.
※ 주석
1) 출처 : https://ko.wikipedia.org/wiki/에이다_러브레이스
2) 출처 : https://ko.wikipedia.org/wiki/찰스_배비지
3) 부울(Boolean) 논리 체계와 2진법 부동소수점을 활용한 프로그래밍이 가능한 세계 최초의 컴퓨터
4) 기원전 150~100년 전에 만들었다고 생각되는 최초의 아날로그형 컴퓨터, 1900년 에게해의 안디키티라(Αντικυθηρα) 섬 앞바다의 난파선에서 발견되었다.
5) 출처 : https://ko.wikipedia.org/wiki/아타나소프-베리_컴퓨터
6) 출처 : https://ko.wikipedia.org/wiki/컴퓨터의_역사
7) 출처 : https://ko.wikipedia.org/wiki/애플_I
8) 출처 : https://ko.wikipedia.org/wiki/IBM_PC
9) 러시아어로 동반자라는 뜻을 가지고 있다.
10) 나중에 DARPA(Defense Advanced Research Projects Agency)으로 이름이 변경되는데, 국방 고등 연구 기관청은 미국방성의 산하 기관이다.
11) 출처 : https://en.wikipedia.org/wiki/Ken_Thompson
12) 켄 톰슨은 구글에서 Go 언어를 개발하기도 하였다.
13) 현재는 노키아 벨 연구소이다. 한국 지사는 삼성동에 위치하고 있다.
14) https://ko.wikipedia.org/wiki/GNU_컴파일러_모음
15) 출처 : http://www.slideshare.net/srust99/the-evolution-of-oot
16) https://ko.wikipedia.org/wiki/전재
17) https://ko.wikipedia.org/wiki/유비쿼터스_컴퓨팅
18) 출처 : http://pubweb.parc.xerox.com/weiser/weiser.html
19) http://row.kano.me
20) https://www.arduino.cc/en/Main/Products
21) 출처 : https://en.wikipedia.org/wiki/Arduino
22) http://www.etnews.com/20160617000267
23) 출처 : https://en.wikipedia.org/wiki/Raspberry_Pi
24) https://wiki.tizen.org/wiki/Raspberry_Pi
/필/자/소/개/
서영진 | (주)젠트솔루션 대표이사, http://valentis.pe.kr, valentis@gmail.com
IT 분야에서 90년대부터 십여년이 넘게 프로그래밍을 하고 있으며, IT 전문강사와 컨설턴트로 활동중이다. 리눅스용 다이얼패드, SKY 6400/6500 모바일 캠코더, 원자력 발전소 CPS 시스템, 신도리코 NEST UI, 삼성전자 VOIP 폰 등 리눅스/UI(Qt)/임베디드/모바일/스마트폰 쪽에서 프로그램을 개발했으며, 강의 및 세미나를 진행하였다.
주요 저술로는 “사물인터넷을 위한 리눅스 프로그래밍 with 라즈베리 파이”, “타이젠으로 웨어러블 앱 개발하기”, "사물인터넷 - 우리가 꿈꾸는 스마트한 세상", "[열혈강의] Qt 프로그래밍" 등이 있다.
![]() |
공개SW역량프라자에 의해 작성된 이 저작물은 크리에이티브 커먼즈 저작자표시-변경금지 4.0 국제 라이선스에 따라 이용할 수 있습니다. |
번호 | 제목 | 작성자 | 조회수 | 작성 |
---|---|---|---|---|
공지 | [2024년] 오픈소스SW 라이선스 가이드 개정판 발간 file | support | 7237 | 2024-01-03 |
공지 | [2024년] 기업 오픈소스SW 거버넌스 가이드 개정판 발간 file | support | 5631 | 2024-01-03 |
공지 | [2024년] 공공 오픈소스SW 거버넌스 가이드 개정판 발간 file | support | 5588 | 2024-01-03 |
공지 | 공개 소프트웨어 연구개발(R&D) 실무 가이드라인 배포 file | support | 18180 | 2022-07-28 |
공지 | 공개소프트웨어 연구개발 수행 가이드라인 file | OSS | 16903 | 2018-04-26 |
244 | 워드 파일을 PDF로 변환하기 1 | OSS | 8817 | 2016-12-06 |
243 | 오픈소스 SW의 글로벌 동향과 우리 기업의 해외 진출 방안 | OSS | 1886 | 2016-11-28 |
242 | 컴퓨터의 발달과 사물인터넷의 등장 | OSS | 3848 | 2016-07-12 |
241 | 오픈소스 소프트웨어 관점 기반 SDI 발전 고찰 | OSS | 1926 | 2016-07-05 |
240 | [2015년 12월 기준] 임베디드분야 공개SW 솔루션 리스트 file | OSS | 1623 | 2016-04-07 |
239 | [2015년 12월 기준] SW 품질검증분야 공개SW 솔루션 리스트 file | OSS | 1584 | 2016-04-07 |
238 | [2015년 12월 기준] 클라우드, 빅데이터 분야 공개SW 솔루션 리스트 file | OSS | 1506 | 2016-04-07 |
237 | [2015년 12월 기준] 서버용 공개SW 솔루션 리스트 file | OSS | 1523 | 2016-04-07 |
236 | [2015년 12월 기준] 비즈니스용 공개SW 솔루션 리스트 file | OSS | 1357 | 2016-04-07 |
235 | [2015년 12월 기준] 데스크탑용 공개SW 솔루션 리스트 file | OSS | 1555 | 2016-04-07 |
0개 댓글