embedded system linux - scitech.co.kr · 많았기때문이다....

26
임베디드 시스템 1 System & Linux Embedded 1.1 임베디드 시스템의 정의 / 1.2 임베디드 시스템 / 1.3 임베디드 시스템의 역사 / 1.4 임베디드 실시간 시스템 / 1.5 임베디드 운영체제

Upload: phamdang

Post on 29-Aug-2019

215 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Embedded System Linux - scitech.co.kr · 많았기때문이다. 2000년대에들어서면서인터넷인구가급증하고멀티미디어컨텐 츠가폭증하면서인터넷TV는대중화의새로운전기를맞았다

임베디드시스템

1System & LinuxEmbedded

1.1 임베디드시스템의정의 / 1.2 임베디드시스템예 / 1.3 임베디드시스템의역사 / 1.4 임베디드실시간시스템 /

1.5 임베디드운영체제

Page 2: Embedded System Linux - scitech.co.kr · 많았기때문이다. 2000년대에들어서면서인터넷인구가급증하고멀티미디어컨텐 츠가폭증하면서인터넷TV는대중화의새로운전기를맞았다

임베디드 시스템의 정의

전기, 전자, 컴퓨터기술들이발달하면서이들기술을이용한다양한기기들이우리

의생활곳곳으로파고들기시작하였다. PC를제외하더라도일상생활에서사용되고

있는 TV, 냉장고, 세탁기, 전자레인지같은가전제품뿐만아니라휴대폰, PDA, 그리

고사이버아파트의홈관리시스템, 홈네트워크게이트웨이장치, 그밖의교통관리

시스템, 주차 관리 시스템, 엘리베이터 시스템, 현금 지급기(ATM), 항공 관제 시스

템, 우주선제어장치, 군사용제어장치등수없이많은기술들이우리생활과밀접하

게관련되어편안한삶을영위하는데도움을주고있다.

위에서열거한것들의개발환경을생각해보면임베디드시스템의개념을이해하는

데 상당히 도움이 될 것이다. 임베디드 시스템(embedded system)이란 미리 정해진

특정기능을수행하기위해컴퓨터의하드웨어와소프트웨어가조합된전자제어시스

템을말하며, 필요에따라서는일부기계(mechanical parts)가포함될수도있다.

즉, 우리 생활에서쓰이는각종전자기기, 가전제품, 제어 장치는단순히회로로만

구성된것이아니라마이크로프로세서가내장되어있고, 그마이크로프로세서를구동

하여특정한기능을수행하도록프로그램이내장되어있는데, 이러한 시스템을가리

키는것이다.

세탁기를예로들면예전의것은세탁과탈수기능만갖는단순한기기였지만, 요즘

나오는세탁기는옷감종류부터시작해서세탁할옷의양, 물의온도등을고려하여세

탁할수있도록되어있다. 이와같이이전의시스템으로는하기힘든것을마이크로프

로세서와그에따른제어프로그램이내장된임베디드시스템이수행하는것이다.

우리는 일상 생활에서 많은 기계나 장비를 의식적이든, 무의식적이든 이용하거나

그도움을받아가면서살아가고있다. 이러한기계나장비중에는프로세서와메모리

를포함하고있어메모리에저장되어있는프로그램대로실행되는것들이있는데, 이

렇게하나의시스템에포함되어특정한일을하는부분시스템을통칭하여임베디드

시스템이라할수있다. 따라서 임베디드시스템이란프로세서들이들어가서동작하

는제어시스템을일컫는것이일반적이다. 보통 마이크로프로세서의크기나성능에

관계없이 마이크로프로세서가 삽입된(embeded) 시스템을 총칭하긴 하지만, 일반적

으로 32bit 이하의 마이크로프로세서를 사용한 시스템으로 그 범위를 한정한다. 보

통, 임베디드시스템의경우전체시스템가격이나소비전력을낮추기위해시스템에

Embedded Linuxmbedded S

ystem

2

1.1

Page 3: Embedded System Linux - scitech.co.kr · 많았기때문이다. 2000년대에들어서면서인터넷인구가급증하고멀티미디어컨텐 츠가폭증하면서인터넷TV는대중화의새로운전기를맞았다

많은제한을가하는특성이있다. 그리고범용운영체제를사용하기보다는특화된실

시간운영체제를사용하거나운영체제없이모니터프로그램에의해로드되어필요한

기능만을수행하는단일프로그램으로소프트웨어가구성된다.

일반적으로임베디드시스템은대량으로양산되는가전제품류와소량제작되는제

어보드군으로크게나눌수있다. 양산되는시스템프로그램은제품제작에들어가기

전에많은테스트를거치게된다. 즉, 제품출시후에문제가발생하여회수하는일이

없도록안정적인동작에중점을둔다. 또한많은시스템이복잡한사용자인터페이스

보다는 간단하게 LED 몇 개와 액정 디스플레이로 상태를 표시한다. 이러한 것들은

주로시스템이컨트롤하는것, 가령통신라인이나제어포트등의오동작시처리여

부와장시간동작시안정성을보장하는데중점을두고개발한다.

임베디드 시스템에 대한 적절한 정의는 기술의 발전과 이를 응용한 제품의 등장과

이용에따라조금씩변천되어왔다. 1.3절“임베디드시스템의역사”에서다시자세히

언급하겠지만, 초기임베디드시스템에대한적절한정의는“일반적으로보다큰시스

템의일부로서특별한업무를수행하기위한하드웨어와소프트웨어를포함하는특정

한응용시스템”으로내릴수있다. 이러한임베디드시스템을구현하기위해서는범용

프로세서나특수목적의프로세서, 그리고에이직(ASIC) 등 많은요소들이사용되었

다. 또한임베디드시스템은일반적으로“반응적시스템(reactive systems)”에속하는

데, 인간이나시스템이속한환경과끊임없이서로반응을주고받는시스템이다.

이에반해우리가일반적으로사용하는개인용컴퓨터, 워크스테이션, 기업체등에

서사용하는대형컴퓨터는하드웨어와소프트웨어를포함하는시스템이지만, 특별히

정해진용도로만사용되는것이아니라메모리에적재되어실행되는프로그램에따라

여러가지용도로사용될수있다. 따라서이러한시스템은범용이라일컬어지며, 시스

템제작자로서는이시스템이어떤용도로사용될지알수가없다. 이러한정의를따르

면, 우리의일상생활에서사용되기시작한 PDA(Personal Digital Assistance)는 범

용시스템으로분류하는것이타당할것이다. 위의개인용컴퓨터등과 PDA의다른

점이있다면, 개인용컴퓨터등은물론그한계가있지만, 시스템의용량을사용자가

쉽게조절할수있는반면, PDA는비록가능은하지만, 시스템용량을변경하기가쉽

지않다는점이다. 또한개인용컴퓨터등은다양한입/출력시스템, 사용자인터페이

스시스템을포함하고있지만, PDA는상당히제한된입/출력시스템, 사용자인터페

이스시스템을포함하고있으며, 사용되는전원도개인용컴퓨터등은고정된곳에서

의사용을전제로배터리(노트북컴퓨터는예외임)를사용하지않으나, PDA는이동하

Chapter 1임베디드시스템

Ch

ap

ter1

3

Page 4: Embedded System Linux - scitech.co.kr · 많았기때문이다. 2000년대에들어서면서인터넷인구가급증하고멀티미디어컨텐 츠가폭증하면서인터넷TV는대중화의새로운전기를맞았다

4

며사용할수있도록충전이가능한배터리를포함하고있는것이일반적이다. 그리고

개인용컴퓨터등은그크기때문에이동성에크게제약을받는반면, PDA는쉽게이

동하면서사용할수있도록그크기가상당히작다는점일것이다.

위와같은차이점때문에여러가지용도로사용될수있음에도불구하고, PDA는

일반적으로임베디드시스템으로분류되고있다. 즉 임베디드시스템에대한정의가

에서정의된내용보다더포괄적으로바뀌었음을알수있다. 이러한변화를수용하기

위해서는임베디드시스템에대한새로운정의가필요한데, 이책에서는다음과같이

임베디드시스템을정의하고, 이러한정의하에이책의내용을전개해나가려한다.

“일반적으로보다큰시스템의일부이거나독립된시스템으로서특별한업무를수행하거

나사용자가임의로정한업무를수행하기위한하드웨어와소프트웨어를포함하는특정한

응용시스템으로서하드웨어와소프트웨어의구성변경이매우어려운시스템을임베디드

시스템이라한다.”

임베디드 시스템 예

위와 같은 정의 하에서 어떤 시스템이 임베디드 시스템이고, 아닌지를 쉽게 알 수

있겠지만, 몇가지예를통해보다정확히시스템들을구분해보기로하자.

정보가전

사전적의미의정보가전(情報家電, information electronic appliances)은“정보를

수집하거나 영상을 기록해서 인간의 정신 활동 지원에 일익을 담당하는 가정전용기

기”를의미한다. 가전이라하면냉장고, 세탁기, 청소기, 공기조절기등과같이가정

내 생활 환경을 쾌적하게 유지하는 기기를 말하며, 이들 가전은 지금도 가사 노동을

줄여주고주거환경을정비하며건강을지켜주기위한목적으로활용되고있다. 이

러한정보가전제품은기술적으로AV 기기와컴퓨터, 통신기기를융합한것으로, 미디

어기기라고도한다. 넓은의미로는기존의AV 기기도포함하여정보가전이라하는경

우도있다. 정보가전의선두주자는라디오이며, 이라디오를통해인간은정확한정보

를쉽게얻을수있었다. 가정에서의정보수집은라디오에서TV로이행되었다가현

재는인터넷으로대치되었다.

1.2.1

Embedded Linuxmbedded S

ystem

1.2

Page 5: Embedded System Linux - scitech.co.kr · 많았기때문이다. 2000년대에들어서면서인터넷인구가급증하고멀티미디어컨텐 츠가폭증하면서인터넷TV는대중화의새로운전기를맞았다

가전제품이정보통신기술과의접목을통해정보가전으로변화되면서가전제품에도

임베디드시스템용운영체제와칩등이본격적으로도입되고있다. 사실수년전부터

아주단순한가전제품에조차마이콤(마이크로컴퓨터의약어)이라는소형칩이적용되

어왔지만, 가전제품이자체칩을통해다양한인공지능또는퍼지기능을요구하게되

면서고성능칩과SW 및운용체계의적용이불가피해졌다. 그러나가전제품에PC나

고성능컴퓨터에서사용하는시스템을적용할수는없다. 왜냐하면빠른구동성과쉬

운활용법등이가전제품의생명이기때문이다.

최근출시되는전자제품중에는마이크로프로세서를넣지않았거나프로그램을탑

재하지 않은 제품은 거의 없다. 물론 간단한 장치들은 그런 프로그램이 없어도 직접

회로를설계하여해결할수있지만, 조금만덩치가크거나지능적인제품들은거의임

베디드시스템을도입하고있다.

이러한정보가전도아날로그에서디지털로급속히전환되고있는추세이다. 가정에

서사용하는TV·오디오·VCR·냉장고·세탁기등기존제품들에컴퓨터및정보

통신기술을 접목하여, 가전제품 고유의 기능을 수행하면서 인터넷을 통해 가정에서

필요한각종정보를얻을수있는디지털정보가전이속속등장하고있다.

따라서디지털정보가전은빠른속도로가전시장을잠식하고, 이로인해기존아날

로그가전은설자리를잃어갈것으로예상된다. 디지털정보가전의특징중하나는컴

퓨터없이도인터넷을이용할수있고홈네트워킹을기반으로모든가전제품이연결

되어정보를주고받을수있다는점이다. 또한기존아날로그제품과는비교할수없

을정도로높은수준의화질과음질을제공한다. 뿐만아니라디지털정보가전은이동

전화단말기등으로원격제어할수있는홈시큐리티기능을구현할수있고초고속

인터넷과연결되어영화·음악·부가정보등다양한멀티미디어컨텐츠를주고받을

수있게된다. 그 동안단일기기로만사용되어온가전제품이이제는컴퓨터못지않

은정보사회의핵심기기로탈바꿈하고있는것이다.

일반적인 전자레인지, 전기밥솥, 진공 청소기, 에어컨, 냉장고 등의 전자제품들은

임베디드 시스템의 도움 없이는 불가능하다. 이제는 가전제품들도 인터넷과 결합한

인터넷TV, 인터넷냉장고, 인터넷전기밥솥등이등장하고있다. 이런기술들은단순

한회로구성이아닌진보된하드웨어기술과소프트웨어기술이융합된고급임베디

드시스템의결정체이다. 임베디드시스템이적용되는디지털정보가전제품으로는디

지털 TV, DVD 플레이어, MP3 플레이어, 인터넷냉장고, 인터넷세탁기, 웹 스크린

Chapter 1임베디드시스템

Ch

ap

ter1

5

Page 6: Embedded System Linux - scitech.co.kr · 많았기때문이다. 2000년대에들어서면서인터넷인구가급증하고멀티미디어컨텐 츠가폭증하면서인터넷TV는대중화의새로운전기를맞았다

6

폰, 차세대게임기, 텔레비전에장착하여인터넷서비스를구현하는셋톱박스, 인터넷

과홈네트워킹이가능한방송인터넷겸용셋톱박스등을꼽을수있다.

이중인터넷TV가대표적인정보가전제품으로가정용텔레비전에인터넷접속기

능의 셋톱박스를 결합시킨 장치[본문 출처 : 두산세계대백과 EnCyber]이다. 인터넷

TV는인터넷에익숙하지못한주부와노년층또는어린이들을겨냥해텔레비전을다

루듯쉽게인터넷에접속할수있도록하려는목적으로개발된것이다. 1996년미국

의웹 TV 사가인터넷검색이가능한 TV를선보인것이인터넷 TV의시초이다. 그

후소니, 필립스, 삼성전자, LG 전자등국내외의가전업체들이인터넷TV를제품화

하였지만, 소비자들의호응을얻지못해판매실적은미미한수준에머물렀다. 당시는

멀티미디어컨텐츠가절대적으로부족하고초고속네트워크의보급마저미미해서흐

릿한TV 브라운관화면으로텍스트위주의인터넷정보를전달하기에는부족한점이

많았기때문이다. 2000년대에들어서면서인터넷인구가급증하고멀티미디어컨텐

츠가폭증하면서인터넷 TV는대중화의새로운전기를맞았다. 주부, 노년층으로인

터넷이용층이확대되고, 온라인주식거래, 인터넷쇼핑몰, 동영상서비스등인터넷

컨텐츠가다변화됨으로써인터넷TV에대한수요도크게증가하였다. 국내시장에는

인터넷TV 네트웍스, 홈TV 인터넷, 클릭TV, 티컴넷등인터넷TV 전문업체들이등

장하면서시장쟁탈전이치열해졌다. 한국통신·하나로통신등초고속통신서비스를

제공중인대형통신업체들도여기에가세하면서 TV로인터넷정보검색은물론전자

우편, 홈쇼핑, 주식및은행거래, 방송시청, 주문형비디오등의서비스활용이일반화

되었다. 그러나가정용텔레비전브라운관의해상도가PC 모니터에비해떨어진다는

점이인터넷TV의가장큰문제점이다. 최대해상도가640×480 수준인인터넷TV

는 1024×768의 정밀한해상도가보편화되어있는 PC 모니터에비하면화면정보

표시량이적고, 가독성(可讀性)도크게떨어져텍스트검색에문제가있기때문이다.

또, 인터넷 TV에서는검색내용저장, 복사, 출력등인터넷검색상의일반적인작업

을할수없는점도큰결점이다.

인터넷은물론영상전화까지가능한디지털냉장고‘인터넷디지털디오스냉장고

(R-S73CT 730L급)’는백색가전과정보가전이통합된미래가정의홈네트워크화에

대비하여동영상통신기술을가전제품에적용시킨최초의디지털백색가전제품이다.

또다른디지털정보가전의예로디지털TV가있다. 국내가전 3사는일명벽걸이

TV로불리는PDP TV를비롯하여, 대화면프로젝션TV와브라운관방식의HDTV

등 첨단디지털 TV를 개발하여시장에선보이고있다. 이러한디지털 TV도 압축된

영상의복원등을위해많은프로그램들이포함되어있으며이러한소프트웨어와하

Embedded Linuxmbedded S

ystem

Page 7: Embedded System Linux - scitech.co.kr · 많았기때문이다. 2000년대에들어서면서인터넷인구가급증하고멀티미디어컨텐 츠가폭증하면서인터넷TV는대중화의새로운전기를맞았다

드웨어를총괄하는임베디드시스템이내재되어있다.

DVD 플레이어·디지털카메라·디지털캠코더등디지털가전제품등이이미소

비자들에게좋은반응을얻으며일상생활에서사용되고있는데, 이러한제품에도임

베디드시스템은필수적이다.

디지털정보가전의또다른중심분야로비디오게임기부분이있다. 기존의비디오

게임기들은단순히 TV에연결하여사용하는것으로사용자의입력을받아들이는하

드웨어를위한드라이브와출력을위한비디오부분, 게임프로그램의적재와실행을

위한메모리관리부분등작은임베디드시스템으로구성되는것이일반적이었다. 하

지만 최근에 시장에 나오고 있는 비디오 게임기들(“플레이스테이션2”(소니사 제품),

“엑스박스”(마이크로소프트사제품))은단순한게임기의역할뿐만아니라인터넷접속

기의역할까지도하게되었다. 즉, 가정의개인용컴퓨터를대체할수있는제품으로

의가능성을내재하고있는것이다. 이러한제품에도임베디드시스템이필수적인데,

특히소니는“플레이스테이션2”를위한운영체제로리눅스를사용하고있어, 리눅스

가단지서버나데스크탑컴퓨터를위한운영체제가아니라임베디드시스템에도적

당한운영체제라는것을실증적으로보여주고있다.

이외에도핸드폰이나스마트폰에도임베디드시스템이필수적으로내재되어있다.

현재이러한상용제품들을위한임베디드운영체제로는시장에서그안정성과효율

성, 응용프로그램 개발의 용이성 등이 입증된 제품들(VxWORKS, pSOS, Win-CE

등)이사용되는것이가장일반적이다. 하지만이러한상용제품의사용은제품단가

의상승, 개발된응용프로그램의호환성문제등이남아있다. 이러한문제점때문에

임베디드운영체제로리눅스를채택하려는연구와개발의열기가높아지고있다.

디지털 가전 분야는 반도체·방송·가전·소프트웨어·부품·컨텐츠 등 전자산업

전반에미치는파급효과가매우크기때문에이시장선점은곧미래전자산업시장

에서의주도권확보로이어진다. 미래사회에는가전·컴퓨터·통신·방송기술이융

합되어디지털화·네트워크화·지능화등새로운개념의제품이등장할것이다. 기존

가전제품에인터넷과네트워크기술은물론인간공학과첨단디자인까지접목한이른

바‘미래가전’이그것이다. 즉, 디지털시대를맞아인터넷·블루투스·모바일기술

이결합한미래형디지털정보가전이속속등장함으로써, 기존가전의대명사로불리

던냉장고·세탁기등아날로그백색가전과AV 가전을밀어내고주력제품군으로자

리잡을것으로기대하고있다. 미래형디지털정보가전시장은오는 2004년쯤본궤

도에올라홈네트워크를구성하는게이트웨이와인터넷냉장고·디지털TV 등디지

Chapter 1임베디드시스템

Ch

ap

ter1

7

Page 8: Embedded System Linux - scitech.co.kr · 많았기때문이다. 2000년대에들어서면서인터넷인구가급증하고멀티미디어컨텐 츠가폭증하면서인터넷TV는대중화의새로운전기를맞았다

8

털가전제품을포함한세계시장규모만도수백억달러를형성할것으로업계전문가

들은내다보고있다. 특히미래형디지털정보가전은소비자들이단순히제품만을구

매하는것이아니라이를통해정보와지식, 아이디어를구매한다는점에서컨텐츠등

다른산업에미치는파급효과가엄청날것으로예상된다.

가전제품에 채택되는 임베디드 시스템, 특히 실시간 운영체제로는 윈도우 CE·

pSOS·VxWORKS 등에서부터임베디드리눅스·차이(chai) 등다양하다.

TV·냉장고·세탁기·전자레인지·에어컨·전기밥솥등가전제품의보급대수를

감안할때, 가전시장에채택될임베디드시스템, 특히실시간운영체제(RTOS)와임

베디드칩의시장규모는어마어마할것으로추산된다. 현재 삼성전자·LG 전자등

종합가전메이커를포함하여셋톱박스·각종휴대형정보가전등을개발하는벤처기

업들이임베디드시스템의개발및도입에적극나서고있다. 임베디드시스템에대한

관심은종합가전메이커뿐아니라벤처기업에서도활발하다. 특히국내150∼200여

업체가몸담고있는셋톱박스분야에서임베디드시스템의활용열기는매우뜨겁다.

이는인터넷 IP시스템을기반으로한홈게이트웨이, 위성과지상파및케이블을활

용한디지털방송, 가전제품을망으로묶어주는홈네트워킹등이수면위로떠오르면

서 단순형 방송 수신기에 불과했던 셋톱박스가 정보가전의 핵심 품목으로 떠오르고

있기때문이다.

이러한 제품 개발의 예를 들어보면, 엠바이엔(http://www.mbyn.co.kr)은 인터

넷셋톱박스인미디어엑스를개발하였다. DVD, DVB/ATSC, MPEG2 등은그동안

엠바이엔이 쌓아온 디지털 기술이 집약된 제품으로 아날로그 및 디지털 방송 수신,

PVR(Personal Video Recoder) 기능, DVD 플레이어, 인터넷접속기능등이한제

품에서모두구현된다. 그리고코스트론(http://www.costron.com)은디지털방송

수신및인터넷연결기능을결합한셋톱박스인웹아츠를개발하였다. 이 기기를 TV

에연결하면 TV 화면을통해인터넷쇼핑·사이버트레이딩서비스·네트워크게임

등개인용컴퓨터를통해서만이용할수있었던서비스를인터넷으로도즐길수있다.

특히 해상도 640×480인 일반 TV 화면에서도 800×600 해상도를 구현함으로써

인터넷 사이트 화면을 TV에서도 자연스럽게 볼 수 있게 하고 있다. 또한 매직아이

(http://www.mesdigital.com)는 MMSP(MutiMedia Signal Process)2라고 명

명한 임베디드 칩 솔루션을개발하였다. 이 칩은 IMT2000, 이동방송, 자동차, 인터

넷, 컨텐츠의결합에대비한차세대칩으로MPEG1/2/4 디코딩및MPEG4 인코딩

이가능하며오디오역시MPEG 1/2, MP3, ACC, WMA의멀티스탠더드코드기

능이추가된다.

Embedded Linuxmbedded S

ystem

Page 9: Embedded System Linux - scitech.co.kr · 많았기때문이다. 2000년대에들어서면서인터넷인구가급증하고멀티미디어컨텐 츠가폭증하면서인터넷TV는대중화의새로운전기를맞았다

사무기기

전자기술의혁신으로컴퓨터하드웨어기술및소프트웨어기술이크게발달되어컴

퓨터가보다저렴해지고, 소형화, 고성능화되었으며, 통신기술의발달로LAN의이용

이대중화됨에따라고속으로정보통신이가능해졌다. 또한종합정보통신망의출현으

로음성, 화상, 데이터를하나의통신망으로통합하여고속전송과다양한통신서비스

가가능해졌고, 사무정보기기의대량보급에따라다양하고복합적인기능을가진사

무정보기기의대량보급이이루어졌다. 또한기업활동의범위가국제화됨에따라과

거기업경영환경에비해현재의기업환경에서분석하고활용해야할정보가폭발적

으로증가하였으며이들정보를효율적으로분석하고경영전반에활용하기위해서는

최신기술을바탕으로한각종사무자동화기기를활용할수밖에없게되었다. 즉, 사

무자동화 기기는 사무자동화를 위한 컴퓨터, 통신장비, 워드프로세서, 팩시밀리, 전

화, 복사기등의각종기기들을말한다.

이러한여러가지기기들중임베디드시스템이포함되어있는장비로대표적인것

이다기능레이저프린터와디지털복사기를들수있다. 이들장비는전용프로세서와

메모리, 경우에따라서는하드디스크를포함하고있으며이러한하드웨어와응용프로

그램들상에서인터페이스를해주는자체운영체제도포함하고있는것이일반적이다.

제어

>> 공장자동화

공장자동화(FA, Factory Automation)는 사무자동화, 가정자동화와더불어 3A로

불린다. 그 중에서공장자동화는가장급속도로발전하여자동화산업의선도적역할

과제조공정분야의중추적인기능을수행하고있다.

공장자동화란미리작성된소프트웨어를통해사람의개입없이도제품의설계, 제

조, 조립, 검사등의생산공정을거쳐창고로부터제품이출하되는일체의생산과정

을 자동적으로 관리하는 시스템인데, 중앙 제어 시스템에 의해 제어된다. 이와 같은

공장자동화의최종목표는무인화(unmanned factory)이기때문에생산라인에서사

용되는기계장치가점차자동화되어감에따라인간의노동력도자동화된기계장치

로대체되고있다. 공장자동화의이점은생산량의증대, 생산비의절감, 품질의향상,

생산기간의단축, 기능공부족해소, 위험한작업의대신수행을들수있다. 공장자

동화에서임베디드시스템의발전모습을쉽게찾아볼수있는데, 공장자동화의발전

이임베디드시스템의발전과역사를함께한다고보아도무관하다. 지금세워지고있

1.2.3

1.2.2

Chapter 1임베디드시스템

Ch

ap

ter1

9

Page 10: Embedded System Linux - scitech.co.kr · 많았기때문이다. 2000년대에들어서면서인터넷인구가급증하고멀티미디어컨텐 츠가폭증하면서인터넷TV는대중화의새로운전기를맞았다

10

는공장들은노동력중심의공장설비보다최신시스템의자동화설비장치를가지고

제품을보다효율적으로생산해내고있다. 공장자동화에들어가는자동화장비와설

비들이바로임베디드시스템의한부분이다. 이장비와설비들은목적에따라하드웨

어로 구성되어 있다. 확장성, 업그레이드, 기능 수정을 위해 소프트웨어를 조합하여

구축하기도한다. 이러한장비는 1960년대초 1, 2차세계대전이후제어분야제품

의생산과연구개발이활발하게진행되면서발전하였다. 특히 1957년 러시아의최

초의인공위성발사, 1962년 미국의최초의통신위성발사의성공은이러한디지털

제어분야를발전시키는데큰역할을했다. 이때가장인기있었던분야가직접디지

털 제어(DDC, Direct Digtal Control)였다. 기존의 아날로그 컨트롤러가 수행하던

것들을컴퓨터가대신하게된것이다. 그러나이러한발전과응용프로그램의증가에

도불구하고기존의아날로그컨트롤러에비해월등히가격이비쌌기때문에컨트롤

이실패했을경우백업이불가능했다.

1970년대초반(하드웨어시대)은컴퓨터컨트롤하드웨어, 소프트웨어를포함한계

측기기의발전시대였다. 또한네트워크상에연결된몇대의컴퓨터에대한분산공정

제어가공장생산설비의목적으로개발되었다. 1974년에프로그램을저장하고재호

출할 수 있는 메모리를 탑재한 PLC를 일본의 마츠시타 산업전기(Matsushita

Electrical Industrial)에서제작하였고, 곧이어마이크로프로세서가개발되면서현재

의임베디드시스템과같은모습을갖추게되었다. 현재는각급공장의생산라인시

스템을제어, 감시 및자동화할수있고, 생산 과정에서얻어지는각종생산자료및

정보들을컴퓨터가데이터베이스에저장한다. 특히단독구성, 상위호스트와의네트

워크구축을통해생산과결과통보를용이하게한다.

>> 가정자동화

가정자동화(HA, Home Automation)란 주택을 단순한 주거 개념으로 보지 않고

컴퓨터와통신및반도체기술을응용하여일상생활을자동화시킨가정을의미한다.

컴퓨터통신망을이용하여생활정보, 문화정보, 홈뱅킹, 홈쇼핑, 학습정보, 진료등많

은정보를얻음으로써사용자들이시간과공간의제약에서자유로와지는데그목적

이있다. 가정자동화에대한기술개발은이미 70년대부터시작되었다. 리모트컨트

롤러하나로집안이나외부에서조명, 수도, 가스, 난방, 가전제품등을제어하는것이

목표였다. 이런시도에는주로유선개념이적용되었기때문에여러기기를제어하는

데전기선외에별도의선과장치가필요한것이단점이었다. 최근에는무선제어기

술이발달하면서가정자동화시스템에대한연구가활발히추진중이다. 앞으로 가정

Embedded Linuxmbedded S

ystem

Page 11: Embedded System Linux - scitech.co.kr · 많았기때문이다. 2000년대에들어서면서인터넷인구가급증하고멀티미디어컨텐 츠가폭증하면서인터넷TV는대중화의새로운전기를맞았다

의가전제품환경이무선쪽으로변할것이분명하기때문에정보통신업체들뿐만아

니라가전제품업체들도연구에가세하고있다. 국내에는삼성전자와LG전자등이

이미개발에착수한것으로알려져있다. 무선제어기술의가장큰걸림돌은가전제

품에장착될무선모듈의단가와표준화문제이다. 이노버텍은표준공용무선프로토

콜인스왑(SWAP, Shared Wireless Access Protocol)에맞춰제품을개발했다. 2∼

3년후에는무선을이용한가정자동화시스템이활발하게보급될것으로전망된다.

모바일디바이스(Mobil Devices)

>> 이동전화

무선통신방식에의해이동체에설치하는송수신설비를가진자에대해이동전화

교환설비를이용하여주로음성을송신하거나수신하는전기통신서비스로일반전화

와는달리케이블을사용하지않고, 무선전파에의해언제어디서나누구와도양호한

품질로통신이가능하도록설계된시스템으로, 휴대용전화및차량전화등의편리한

형태로가입자에게통신서비스를제공할수있다. 이동전화의특징은이동성을완벽

하게보장하기위한전파를통신의매체로사용한다는점이다. 이러한특징으로인해

일정지역내에서동시사용자의수가고정적이아니라가변적이고, 지형지물에의한

반사로전파의전달경로를정확하게예측하기가어려우며, 단말기가소형·경량화되

어야하고주파수자원의한계를극복해야하는난점이있다. 이러한문제점들을극복

하기위해이동전화기에는단순한송수신모듈만으로구성되어있는것이아니라수

신된 신호의 처리, 자신의 위치를 알리기 위한 중계기와의 주기적인 신호의 송수신,

간단한주소저장기능등여러가지응용프로그램이같이존재해야한다. 따라서지

금의이동전화는전용프로세서와메모리를포함하고있으며, 이와 같은하드웨어와

응용프로그램 사이의 인터페이스를 위해 안정성이나 신뢰성 등이 이미 검증된 상용

임베디드운영체제를사용한다. 즉, 이동전화기는하나의작은임베디드시스템인것

이다.

>> PDA

PDA(Personal Digital Assistant)는 휴대형 정보 단말기를 말한다. 노트북보다 훨

씬작은소형컴퓨터이면서전자수첩보다강력한컴퓨팅파워를갖고있다. 전체크기

가작기때문에디스플레이장치(LCD)의크기가제한되며, 펜으로문자를써서인식

하게하는펜입력을기본으로하고있다.

1.2.4

Chapter 1임베디드시스템

Ch

ap

ter1

11

Page 12: Embedded System Linux - scitech.co.kr · 많았기때문이다. 2000년대에들어서면서인터넷인구가급증하고멀티미디어컨텐 츠가폭증하면서인터넷TV는대중화의새로운전기를맞았다

12

일정관리, 주소록, 메모장같은개인정보관리프로그램을기본으로제공하며, PC

와연결하여자유롭게데이터를주고받을수있다. 또한기본으로제공되는프로그램

외에새로운프로그램을설치하여사용할수있다. 최근에는무선통신의발달로PDA

를 통한 인터넷접속이가능해짐에따라 PDA는 무선 인터넷분야를새롭게개척해

나가고있다.

스케줄과거래처관리가필수적인비즈니스맨이나일정관리가필요한대학생들은

주로다이어리, 전자수첩등비효율적인방법으로개인정보를기록하고이용해왔다.

PDA는기본적으로제공되는프로그램과추가애플리케이션을통해개인정보관리의

비효율성을개선해준다. 또한 PDA의 개인정보관리프로그램들과대응되는 PC용

개인정보관리프로그램을제공하여 PDA와 PC를 연결하여입력된정보들의수정,

추가, 백업을 지원함으로써 새로운 차원의 개인정보 관리 방안을 제시한다. PDA를

이용하면 장소에 구애받지 않고 이동중에도 휴대폰과 연결하여 인터넷에 접속할 수

있다. 웹페이지검색, 전자우편송수신, PC 통신, 주식매매등PC에서할수있는인

터넷의주요기능들을PDA에서이용할수있다.

>> 스마트폰(Smart Phone)

휴대전화와개인휴대단말기(PDA)의 장점을합친것으로, 휴대전화기에일정관

리, 팩스송수신및인터넷접속등의데이터통신기능을통합시킨것이다. 인터넷정

보검색은물론액정디스플레이에전자펜으로문자를입력하거나약도등그림정보

를송수신할수있다. 선택사양인데이터어댑터를장착하면일반전화선으로도데이

터를전송할수있다. 그러나제한된메모리환경때문에파일시스템을탑재할수는

없다.

스마트폰은 휴대폰으로사용하는외에휴대형컴퓨터로도사용할수있고, 이동중

에무선으로인터넷및PC 통신, 팩스전송등을할수있다. 방식을보면아날로그방

식, 유럽의GSM 방식, 일본의PHS 방식, 한국의CDMA 방식으로무선통신을할수

있도록개발되었다.

삼성전자의스마트폰인‘SCH-M 시리즈’는터치스크린방식으로데이터를송수신

하며영한/한영사전, 공학계산기, 게임기능까지내장하고있다. 또, 최대 2000명의

주소록과 1년간의 스케줄, 100건의 메모를 저장 및 관리할 수 있는 PIM(Personal

Imformation Management, 개인정보 관리) 기능을 갖고 있다. 30×70mm의 LCD

를채택했으며크기는 118×50×25mm, 무게는표준배터리를장착했을때 158g

이다.

Embedded Linuxmbedded S

ystem

Page 13: Embedded System Linux - scitech.co.kr · 많았기때문이다. 2000년대에들어서면서인터넷인구가급증하고멀티미디어컨텐 츠가폭증하면서인터넷TV는대중화의새로운전기를맞았다

LG 정보통신의‘싸이언스마트폰’은문자메시지, 전자우편, 인터넷접속등의데

이터서비스를이용할수있고, 1000명 이상의주소록과스케줄, 메모등을통합관

리하는개인정보관리기능을갖추고있다. 또, 도킹스테이션을이용하여충전과동

시에컴퓨터에저장된데이터를주고받을수도있다. 40×52mm의LCD 화면을채

택했고크기는139×55×22mm, 무게는표준배터리를장착했을때178g이다.

위의두제품은상용임베디드운영체제를사용하여시스템을개발하였다.

또한SK 텔레콤, 삼성전자등은음성통화외에무선인터넷, 화상통신, 주문형비디

오및오디오(VOD/AOD) 기능을갖춘스마트폰개발을추진하면서, 동시에리눅스를

운영체제로사용한다는방침아래리눅스전문업체와공동으로스마트폰용임베디드

리눅스운영체제및통신모듈개발에착수하였다. SK 텔레콤은팜팜테크등과공동으

로리눅스기반의스마트폰시제품을개발하고있으며, 통신모듈개발과시스템통합

작업에나섰다. SK텔레콤은CDMA 기능을구현한통신모듈개발을완료하고, 이를

통합하여구체적인테스트를진행할계획이다. 특히CDMA용통신모듈개발은향후

IMT-2000용 단말기로의전환을염두에둔것이어서더욱주목받고있다. 또 팜팜테

크는스마트폰에탑재될임베디드리눅스개발을진행중이며, 현재 타이눅스(Tinux)

라는독자운영체제를스마트폰에최적화된형태로포팅하고있다. 양측회사는운영

체제와통신모듈개발및테스트가완료되는대로 IMT-2000 관련전시회에이를선

보이는한편상용화전단계의시제품을개발하였다. 삼성전자와미지리서치도공동으

로리눅스운영체제를사용하는스마트폰개발에나서고있다. 미지리서치는우선스

마트폰에 들어갈 임베디드 운영체제용 GUI로 노르웨이 트롤테크의 QT/임베디드를

기반으로개발키로하고, 스마트폰에최적화된‘QT/임베디드서브셋(subset)’모듈을

개발하였다. QT 임베디드서브셋은삼성전자가생산한스마트폰단말기에탑재되며,

곧시제품이선보일예정이다. 삼성전자는이와관련, 자사가이미개발한윈도우CE

용스마트폰을리눅스로전환하거나독자신모델을개발하는등두가지방안을고려

중이다.

이들 기업이개발하는리눅스기반의스마트폰은데이터통신과관련해최근주목

받고 있는 블루투스(Blue Tooth)기술을 탑재하는 것도 적극 검토되고 있다. 업계는

올하반기부터리눅스기반스마트폰시제품들의등장과상용화를위한시제품검증

이대거이뤄질것으로기대하고있다.

Chapter 1임베디드시스템

Ch

ap

ter1

13

Page 14: Embedded System Linux - scitech.co.kr · 많았기때문이다. 2000년대에들어서면서인터넷인구가급증하고멀티미디어컨텐 츠가폭증하면서인터넷TV는대중화의새로운전기를맞았다

14

임베디드 시스템의 역사

초기의임베디드시스템은그구성이매우단순하였다. 8/16bit 컨트롤러에제한된

동작을하도록하는소프트웨어가탑재된시스템이전부였다. 물론이시스템은지금

도사용된다. 하지만강력한마이크로프로세서와DSP(Digital Siginal Processing) 칩

이일반적으로사용됨에따라사용영역이넓어지고그에따른소프트웨어도발달하게

되었다. 또한 이러한 대형 시스템을 제어하기 위한 임베디드 운영체제가 등장하기에

이르렀다. 앞에서도언급했듯이임베디드시스템의역사는공장자동화의역사와맥을

같이한다. 따라서임베디드시스템의역사는공장자동화부분을참조하기바란다.

임베디드 실시간 시스템

>> 실시간시스템(Real-Time System)

실시간시스템을다룬책이나논문, 기타관련자료를살펴보면, 그정의는대부분이

일치한다. 그주된내용은실시간시스템이란정해진시간내에결과를출력하는시스

템을말한다. 이 말은주어진작업을빨리처리하는것이아니라정해진시간을넘겨

서는안된다는의미이다.

임베디드시스템이실시간적인요소가있기때문에임베디드시스템자체를실시간

시스템이라고생각해도된다. 그러나 좀더정확히표현하자면실시간시스템이임베

디드시스템에포함된다고보는편이적절할것이다. 실시간시스템도경성실시간시

스템(Hard Real-Time System)과연성실시간시스템(Soft Real-Time System) 두

가지로나뉜다.

경성 실시간시스템의경우는정해진시간내에작업의결과가절대적으로출력되

어야하는시스템이다. 간단한예를들면전투기의비행제어시스템이라든지핵발전

소의제어시스템, 인공위성의제어시스템등작업의결과가정해진시간내에나오

지않게되면막대한손실을일으켜치명적인결과로이어지는경우이다.

연성실시간시스템의경우는정해진시간내에작업의결과가출력되지않더라도

경성실시간시스템처럼치명적인결과를초래하는그런시스템은아닌경우이다. 다

시말하면연성실시간시스템은정해진범위를넘는시간지연이발생하더라도그것

이시스템오류가되지않을수도있다는것이다.

Embedded Linuxmbedded S

ystem

1.3

1.4

Page 15: Embedded System Linux - scitech.co.kr · 많았기때문이다. 2000년대에들어서면서인터넷인구가급증하고멀티미디어컨텐 츠가폭증하면서인터넷TV는대중화의새로운전기를맞았다

임베디드 운영체제

임베디드리눅스의가장큰매력은크기의가변성(재구성을통해)과공개된소스코

드를통한유연성의확보를들수있다. 이를정보가전에활용함으로써소비재산업으

로침투할수있는계기를마련해줄수있다. 정보시스템에만사용되는운영체제가

아닌이동전화, 셋톱박스, 디지털TV, PDA 등임베디드시스템의운영체제로탑재되

는것이다. 이러한모든시스템에는네트워크기능, 즉인터넷과의연동이필수조건으

로고려되고있다.

임베디드시장은그동안마이크로소프트사의윈도우CE와심비언진영의이포크

(EPOC), 팜컴퓨팅의팜OS 등이각축을벌여왔다. 기존 IT 업체들은원하는하드웨

어를시스템에서사용하려면운영체제를만드는회사나하드웨어개발업체에서드라

이버를만들어제공할때까지기다려야했다. 이들중점유율이월등한운영체제만이

살아 남고, 상대적으로 점유율이 낮은 운영체제의 경우에는 디바이스 드라이버조차

제때제공하지못하는상황에처해있다.

이런문제점의대안으로등장한것이리눅스이다. 개발환경이두텁고, 널리사용되

고있다는이유인데, 이러한배경에는리눅스만의강점이있기때문이다

첫째이유는리눅스자체의커널이완전히개방되어있다는것이다. 즉, 오픈소스,

오픈아키텍처이기때문에개발하고자하는플랫폼에대해충분히지원받을수있다.

둘째, 제품개발기간이짧다는것과개발비용이저렴하다는것이다. 오픈소스로

인해개발자들이디바이스드라이버를제작해내놓고있어, 이러한 기존소스코드를

이용하여개발기간과비용을줄일수있다.

임베디드시스템에서의운영체제

임베디드시스템이라는것은일반적인시스템과는달리특정한작업만을하도록설

계되며, 초기의임베디드시스템은비교적단순해서운영체제가필요없이사람이순

차적인프로그램을작성해서실행되도록하였고, 중간에인터럽트가발생되는경우에

만그순차적인프로그램에서잠시벗어나는정도였다. 이전의 임베디드시스템들은

주로간단하고단순한순차적인작업에관련되어있었기때문에굳이운영체제를사

용한다는것은그자체가낭비였고그럴필요조차없었다. 하지만최근의임베디드시

스템분야에서는그시스템자체가커지게되고, 네트워크나멀티미디어가시스템에

1.5.1

Chapter 1임베디드시스템

Ch

ap

ter1

15

1.5

Page 16: Embedded System Linux - scitech.co.kr · 많았기때문이다. 2000년대에들어서면서인터넷인구가급증하고멀티미디어컨텐 츠가폭증하면서인터넷TV는대중화의새로운전기를맞았다

16

기본으로장착되면서임베디드시스템의기능도많아지고복잡해졌기때문에순차적

인프로그램작성이매우어렵게되었다.

따라서임베디드시스템에서도운영체제의개념이필요하게되었고임베디드시스

템의특성상실시간이라는요소를만족해야했으므로실시간운영체제가임베디드시

스템에도입되었던것이다. 현재 실시간운영체제를채택하여개발된제품들이점점

늘어나고있다. 이제는많은임베디드시스템에서그목적에맞게실시간운영체제와

함께적절하게사용되고있는추세이다.

>> 임베디드운영체제

현재나온임베디드운영체제는그종류가무수하다. 그 중대부분은 RTOS(Real-

Time OS, 실시간 운영체제)이며 RTOS가 임베디드 운영체제라고 말해도 과언이 아

니다. 하지만여기에는윈도우CE, 임베디드리눅스, 그리고임베디드시스템에서자

바(Java)를쓸수있도록하는임베디드자바와퍼스널자바등이포함된다.

우선기존의상용RTOS를살펴보고, 윈도우CE, 임베디드리눅스, 임베디드자바

와퍼스널자바의가능성에대해서알아보자.

상용RTOS

RTOS(Real-Time Operating System)는임베디드시스템이가지는특성중실시

간적인요소를충족하기위해나온운영체제라고할수있다. 즉, RTOS는임베디드

시스템의근간이되는운영체제인셈이다.

실시간 운영체제라고 하면 일반적으로 말하는 운영체제(윈도우 계열, 유닉스, 리눅

스)와는막연하게무언가조금은다를것이라고생각이들지도모르겠다. 하지만임베

디드운영체제라고해서특별히다른것은없다. 일반운영체제들이수행하는태스크

스케줄링, 태스크간의통신, 메모리관리, I/O, 인터럽터등이러한요소들을 RTOS

도 같이지원한다. 일반 운영체제와의차이점은시간제약에차이, 신뢰성, 범용성과

특수성정도이다. 예를들어윈도우환경하에서어떤프로그램을실행하였는데어느

때는빨리실행되고, 어느때는늦게실행된다고해서크게문제될것은없다. 혹수행

하는프로그램이잘못수행되어시스템이다운되는경우가발생할수도있다. 그러나

RTOS 환경하에서실행되는작업들은정해진시간이큰문제가될수있다.

1.5.2

Embedded Linuxmbedded S

ystem

Page 17: Embedded System Linux - scitech.co.kr · 많았기때문이다. 2000년대에들어서면서인터넷인구가급증하고멀티미디어컨텐 츠가폭증하면서인터넷TV는대중화의새로운전기를맞았다

따라서임베디드시스템이가지는정해진시간내에수행하는능력, 신뢰성은일반

운영체제보다엄격하게지켜져야하는규약과도같은것이다.

또한일반운영체제(예를들어유닉스, 윈도우)들은 PC 환경에서여러가지작업들

을수행할수있으나, RTOS는작업환경이일반적으로임베디드시스템으로제한을

받고있으며, 그시스템또한보통한가지목적으로개발되어있다. 따라서RTOS 역

시그한가지목적을위해최적화되어있다고보면된다.

임베디드운영체제와 RTOS는 어느정도구별이필요하다. 임베디드시스템이실

시간적인 요소를 가지는 것은 사실이지만 모든 임베디드 운영체제가 가장 RTOS인

것은아니다. 그예로PDA에들어가는운영체제가가장적절할것이다. 다시말하면

임베디드운영체제내에RTOS가포함된다고보는편이보다정확하다.

RTOS와임베디드프로그래밍

현재국내에서많이쓰이는RTOS로는마이크로텍의VRTX, ISI의 pSOS, 윈드리

버사(WindRiver)의 VxWorks, 마이크로웨어의 OS-9 등이 있고, 이밖에 QSSL의

QNX와같은운영체제가쓰이고있다. 이들RTOS는선점형멀티태스킹을지원하며

POSIX를지원한다. 각태스크들은우선순위를가지고있어높은우선순위를가지는

태스크들이먼저실행되는구조로되어있다. 그리고이들RTOS는보통커널모드와

사용자모드가있어시스템콜에의해이모드에대한독립성을보장한다. 또한통합

개발환경과디버깅툴을개발하여개발자들이쉽게프로그램을개발할수있도록지

원하고있다. 단점이라면이들 RTOS들 대부분이상용운영체제라라이센스비용이

적지않게들어간다는것이다. 즉, 이들운영체제의경우개발자한명당라이센스가

격이비싼경우는 3천만원을호가한다. 일반운영체제와달라구매자가소수이고개

발비용도만만치않으며, 지원하는마이크로프로세서도다양하기때문이다. 비싼가

격문제로인해아주복잡성을갖는시스템을제외하고는 RTOS가직접적용되지는

않는다. 개발은 RTOS상에서하고, 실제양산에들어갈때는RTOS를제거한채사

용되는경우가많다고한다. 결국개발용툴로RTOS가적용되기는하지만, 한대또

는수십대의제품만만든다면RTOS를그대로사용해도무방하다.

RTOS는서로상당히많은차이가있기때문에작업성격에따라서선택하기보다

는개발자가익숙한운영체제를선택하는경향이있다. RTOS를 선택해도임베디드

시스템상에서직접개발하지않고다른범용컴퓨터상에서에뮬레이터나디버거로개

발하는 시스템에 프로그램을 다운로드하거나 디버깅을 하게 되며, RTOS마다 개발

1.5.3

Chapter 1임베디드시스템

Ch

ap

ter1

17

Page 18: Embedded System Linux - scitech.co.kr · 많았기때문이다. 2000년대에들어서면서인터넷인구가급증하고멀티미디어컨텐 츠가폭증하면서인터넷TV는대중화의새로운전기를맞았다

18

환경에 차이가 있다. 예를 들면 VRTX는 유닉스 환경에서 개발해야 하지만, 다른

RTOS는윈도우NT에서개발하는환경도제공하고있다. 화성착륙선인패스파인더

의운영체제로쓰여서유명해진윈드리버사의 VxWorks의 경우가장고가이긴하지

만 다양한 개발 환경을 제공하고 있다. 미국의 경우 임베디드 시스템 개발 회사의

50% 정도는 자체적으로 개발한 RTOS나 그것에 해당하는 프로그램을 독자적으로

개발하고있으며, 앞서언급한RTOS들이 5% 내외의비율로시장을조금씩나눠갖

고있다.

이와같이주도적인 RTOS가나타나지않는이유는임베디드시스템개발이많은

노하우를필요로하며, RTOS를비롯한개발도구의안정성이높지않아서새로운것

을선택하는경우개발도구를익히는데시간이많이소요되기때문으로추정된다.

이러한상용RTOS 외에무료RTOS도있다. 교육용으로나온, 가장간단하면서도

그간단함때문에널리쓰이는 uCOS나이미그안정성을확보받은RTEMS, GNU

컴파일러, 그밖의 도구들을지원하며임베디드시스템시장에서널리알려진시그너

스사의eCOS등이무료RTOS에속한다. 이들RTOS는오픈소스를바탕으로그안

정성과기능을향상시켜나가고있다.

>> pRISM+와pSOS

ISI는지난 80년이래 pSOS+ 및다양한컴포넌트모듈과편리한통합개발환경

인 pRISM+를공급하고있다. 삼성전자가 pSOS+ 개발에참여하여라이센스를갖

고 있어 비교적 우리나라에서 잘 알려진 RTOS이다. 또 컴파일러 전문업체인 Diab

Data, 소스 디버거전문업체인 SDS를 자회사로두고있어컴파일러와디버거측면

에서상대적으로높은기술력을자랑한다. 현재삼성전자가개발한휴대폰의핵심칩

인Scom3000에포팅되었으며, 각종통신장비와네트워크장비등에서사용되고있

다. 삼성전자에서내놓은웹스크린폰도바로pSOS 운영체제를탑재하고있다.

ISI의 pRISM+는임베디드시스템개발환경의요구조건에바탕을두고설계된

제품으로, 기존소스코드를프로그래머가분석하여재사용할수있는툴(SNiFF+)과

컴파일러, 링커, 디버거등을포함하고있는통합개발환경이다. pRISM+는제품을

보다신뢰성있고탄탄하게만들기위한시스템레벨의최적화툴(ESp, 오브젝트브라

우저, RTA 스위트)과사용하기편리한GUI 및커맨드레벨(DOS Shell, KornShell,

PrismShell)의사용자인터페이스, 툴최적화기능을제공한다.

Embedded Linuxmbedded S

ystem

Page 19: Embedded System Linux - scitech.co.kr · 많았기때문이다. 2000년대에들어서면서인터넷인구가급증하고멀티미디어컨텐 츠가폭증하면서인터넷TV는대중화의새로운전기를맞았다

pSOSystem은 선점형멀티태스킹 RTOS로 각태스크들은우선순위를가지고있

어우선순위가높은태스크들의작업수행이먼저이루어진다. 따라서선점형스케줄

링방식을따른다고볼수있다. 만일각태스크들이같은우선순위를가진다면스케

줄링방식은라운드로빈방식으로바뀌게된다. 태스크의수는총 256개이며태스크

레벨은 255가 가장 높고, 0이 가장 낮다. 특이할 사항은 레벨 240에서 255까지는

커널에의해사용되도록지정되어있다는것이다.

이외에도태스크관리, 세마포어, 메시지큐, 시간관리및타이머, 이벤트및비동

기신호, 오류처리, 동적인메모리저장관리, 다른태스크들로부터의코드나데이터

보호 등의 서비스를 지원한다. 여러 개의 다른 실행 모드를 가지고 있는 프로세서를

위해사용자모드와수퍼바이저모드를제공하고있다. 각컴포넌트들을간단하게설

명하면다음과같다.

■pSOS+ : 실시간멀티태스킹커널로서단일프로세서용커널

■pSOS+m : 다중프로세서용멀티태스킹커널

■pNA+ : TCP/IP 프로토콜스택

■pRPC+ : Remote Procedure Call 라이브러리

■pHILE+ : 파일시스템관리자(MS-DOS, NFS, ISO9660 지원)

■pPERC+ : ANSI C/C++ 표준라이브러리

■pROBE+ : 타겟용저수준디버거

■pMONT+ : 타겟용고수준디버거/분석기

■pNET+ : 디버깅을위한ethernet 연결

■pSOS+ Query Library : pSOS+ 객체에대한상세정보제공

■pERC : 실시간자바

■pLM+ : 라이브러리관리자

■OpTIC : 그래픽라이브러리

■pRISM+ : 통합개발환경

Chapter 1임베디드시스템

Ch

ap

ter1

19

Page 20: Embedded System Linux - scitech.co.kr · 많았기때문이다. 2000년대에들어서면서인터넷인구가급증하고멀티미디어컨텐 츠가폭증하면서인터넷TV는대중화의새로운전기를맞았다

20

pSOSystem은 실시간멀티태스킹커널을중심으로여러개의소프트웨어컴포넌

트와라이브러리를두고있다. 이런 컴포넌트와라이브러리는선택적으로사용될수

있다. 하부 구조에는 디바이스 드라이버 및 칩, 각종 디바이스의 정보를 담고 있는

BSP(Board Support Package)가 포함되어있다. 만일 하드웨어가변경될경우, 이

BSP만 수정하여 시스템 프로그램에 많은 변경 없이 쉽게 만들어 낼 수 있으므로

BSP를따로구별한다. 따라서전체적으로정리해보면BSP와디바이스드라이버의

바탕위에커널과기타필요한컴포넌트들을링크하고, 다시그위에사용할각종태

스크와응용프로그램을제작하여사용하는것이다.

>> VxWorks

화성 착륙선 패스파인더의 운영체제로 쓰인 윈드리버사의 RTOS인 VxWorks는

pSOSystem과 유사한 점이 많다. pSOSystem이 통합 개발 환경으로 pRISM+를

제공한다면 VxWorks는 토네이도를제공한다. VxWorks의 커널인마이크로커널은

선점형멀티태스킹이며총태스크의단계는256개이고스케줄링방식도높은우선순

위를가지는태스크가먼저실행하는방식을지원한다. 만일같은우선순위를가질경

우 라운드로빈 방식의 스케줄링을 이용하는 것도 pSOSystem과 유사하다. 또 하나

pSOSystem이 여러 개의 컴포넌트로 되어 있다고 하면 VxWorks는 200개 가량이

모듈을지원하는형식으로되어있어개발자는이들필요한모듈만사용해서시스템

에맞는운영체제를구성할수있다.

VxWorks는현대의RTOS들이지원하는거의모든서비스를지원하고있다. 태스

크간의통신을위해세마포어와메시지큐, 공유메모리, 소켓, 시그널등을제공하고,

표준 TCP/IP 네트워킹과ROM이나로컬디스크, 네트워크로부팅이가능하게되어

있다. 파일시스템은MS-DOS와 RT-11 파일시스템을지원하는등여러가지서비

스를 제공하고 있다. VxWorks의 구조는 크게 하드웨어에 의존하는 BSP, 디바이스

드라이브영역, 하드웨어에의존하지않는커널, 그에따른모듈및응용프로그램으로

나누어진다. 이것은pSOSystem과매우유사한부분이다.

토네이도는 교차 개발 환경을 지원하는 통합 개발 환경이다. 이 툴의 구성은 크게

세 가지로 나누어지는데, VxWorks, 응용프로그램 개발 툴(컴파일러와 프로그램들),

VxWorks의응용프로그램을관리하고, 디버깅하고, 모니터링할수있는통합개발환

경들로이루어져있다. 여기에는소스코드에디터, C와 C++컴파일러, 타겟시스템

의상태를그래픽환경에서모니터링할수있는브라우저, C 언어해석기인WindSh

Embedded Linuxmbedded S

ystem

Page 21: Embedded System Linux - scitech.co.kr · 많았기때문이다. 2000년대에들어서면서인터넷인구가급증하고멀티미디어컨텐 츠가폭증하면서인터넷TV는대중화의새로운전기를맞았다

등의 기능이 들어 있다. 토네이도는 pRISM+와 달리 프로세서마다 각각 다른 툴과

컴파일러를제공하는것이아니라, 하나의컴파일러에모든프로세서를지원한다.

>> 윈드리버사의새로운RTOS : Cumulus

ISI가 윈드리버사에 합병된 사실은 RTOS에 관심을 가진 이들은 다들 알고 있을

것이다. 따라서 새로운 RTOS가 나올 거라는 짐작을 할 수 있는데, 윈드리버사는

2000년 2월 29일 시카고에서 열린“the Embedded System Conference East”에

서 새로운 RTOS를 개발한다고 발표했다. 코드명은 Cumulus이며 이 RTOS는

pSOSystem과VxWorks의장점만을이용하여만들것이며, 아직까지는작업중이라

고밝혔다. 그리고 pSOSystem 사용자를위해올해 3/4분기쯤에“Stratus”를발표

한다고덧붙였다.

자세한내용은pSOSystem 홈페이지를참조하기바란다(http://www.isi.com).

만일Cumulus가나온다면통합개발환경에있어pRISM+를따라프로세서별로컴

파일러와개발툴을지원할것인지, 아니면토네이도처럼하나의컴파일러에모든프

로세서를지원할것인지지켜봐야할것이다.

>> VRTX

VRTX는맨토그래픽사(Mentor Graphics Corporation)에서개발한RTOS로상

당히신뢰성이높은운영체제로정평이나있다. FAA의 RTCA/DO-178B LEVEL

A의인증을받고있으며기타정부의다른기관으로부터도인증을받아그신뢰성을

인정받고 있다. 현재 통신 장비, 네트워크 장비, 셀룰러, 경주용 자동차의 엔진 제어

시스템등다방면의분야에서사용되고있다. 우리나라에는다산인터네트에공급되

고있으며, 삼성전자의통신장비, 발전소의모니터링시스템, 전동차의제어시스템

및모니터링시스템에사용되고있다. VRTX는 기존의 RTOS와 크게다른점은없

다. 선점형멀티태스킹커널을가지고있으며, 운영체제는모듈형태로되어있어사

용자들은선택적으로사용하여운영체제를구성할수있다. 이런 모듈들에는멀티태

스킹커널이외에메모리가매우협소한임베디드시스템을위해커널의양을최적화

한커널도있고, TCP/IP 프로토콜스택이외에OSI 프로토콜스택도지원하고있다.

파일시스템은MS-DOS 6.1을포함하고있으며, ANSI-C 라이브러리도제공된다.

VRTX는 스케줄링에특이할만한사항을가지고있는데, 시스템콜의중간쯤에인

터럽터가발생하여생기는시간적지연을막기위해선점가능한시스템콜을가지고

있다. 따라서VRTX는태스크가수행할준비가되자마자스케줄링이가능하다.

Chapter 1임베디드시스템

Ch

ap

ter1

21

Page 22: Embedded System Linux - scitech.co.kr · 많았기때문이다. 2000년대에들어서면서인터넷인구가급증하고멀티미디어컨텐 츠가폭증하면서인터넷TV는대중화의새로운전기를맞았다

22

VRTX의통합개발환경스펙트라는총 4개의모듈로구성되어있다. 기본적으로

통합 개발 환경이 가지는 RTOS와 디버깅 툴, 컴파일러를 제공하고, 호스트와 타겟

시스템과의연결방식도이더넷, 시리얼, ICE, JTAG, BDM 등여러가지방식을제

공한다. 스펙트라에서주된디버깅툴은 XRAY 디버거인데, 이 디버거에는시뮬레이

션기능, 모니터링기능등이있다. 특히툴이GUI로구현되어빠른편집, 컴파일, 다

운로딩, 디버깅이가능하다. 또한소스수준의디버깅과타겟시스템이없어도시뮬레

이션이가능하다. 공통적으로필요한소스코드는따로제공하고있어임베디드시스

템개발시간을단축할수있다는것도장점이다.

그외의임베디드운영체제

그외의임베디드운영체제는RTOS와는달리임베디드시스템이가지는실시간적

인요소를그다지충족하지못하는운영체제들이다. 하지만 이들운영체제들은나름

대로의장점을가지고, 실시간적인요소가그다지필요없는임베디드시스템에탑재

되어있다. 대표적인운영체제가윈도우CE, 임베디드리눅스, 임베디드자바/퍼스널

자바등이다.

>> 윈도우CE

PC 계열의운영체제시장을석권한마이크로소프트사는다시모바일운영체제시장

으로뛰어들었다. 즉, 기존의윈도우인터페이스에모바일네트워크기능을강화하여,

가전제품, PDA, 자동차 셋톱박스 등에 탑재될 임베디드 운영체제를 만드는 일이다.

버전 1.0에서 2.0, 2.01, 2.11, 2.12(3.0)에 이르기까지커널은여러차례버전업되

었지만, 여전히윈도우의모양을하고있다. 하지만이런요구에맞추다보니하드웨어

의사양이매우높아서, 가격 경쟁력에서다른모바일제품에밀리고있는실정이다.

네트워크기능을살펴보면, 적외선통신, 데스크탑과의오토싱크및PCS나셀룰러폰

을이용한웹브라우징능력을갖고있다. 특히, 차세대가전제품에윈도우CE를이용

하여하나의윈도우호환환경에서홈오토메이션, 카 내비게이션등을고려함으로써

한때하드웨어업체들의강력한지원을받기도하였다. 따라서개발환경은다른상용

운영체제에비해서훨씬편리한것을알수있다. 문제는완전한실시간운영체제가아

니라는점이고, 이러한단점으로인해산업용, 정밀용으로는신중히생각해야한다는

것이다. 물론윈도우98이나NT에비해상당히안정적인편이다.

윈도우 CE는 32bit 윈도우운영체제와호환성이있는임베디드운영체제이다. 여

러RTOS와마찬가지로모듈화되어있다. 차이가있다면그모듈이좀더세분화가가

1.5.4

Embedded Linuxmbedded S

ystem

Page 23: Embedded System Linux - scitech.co.kr · 많았기때문이다. 2000년대에들어서면서인터넷인구가급증하고멀티미디어컨텐 츠가폭증하면서인터넷TV는대중화의새로운전기를맞았다

능한데, 그 세분화한것을컴포넌트라고한다. 좀더자세히말하면모듈은완전한기

능을갖춘것이고컴포넌트들은그렇지못한것이다. 이렇게모듈화되어있기때문에

필요한부분만선택하여사용할수있게되어있다. 또한커널은선점형멀티스레딩

을지원한다. 윈도우 CE는기본적으로 32개의프로세스를가질수있고, 하나의프

로세스는8개의스레드를가질수있다. 이스레드는스케줄링의기본이된다.

32bit 윈도우와호환성이있기때문에Win32 API를이용하여쉽게프로그램을포

팅할 수 있다. 개발 툴은 Platformbuilder 2.11, 윈도우 CE용 VC++ 6.0, 윈도우

CE용VB 6.0이며, 섬세한제어분야가아닌엔드유저를지향하는비주얼한제품에

상당히유리하다. 또한 TCP/IP, PPP와 IrDA 같은프로토콜을가지고있어다른윈

도우 시스템에 쉽게 연결할 수 있고, Win32 직렬 APIs, TAPI 등을 지원한다. 실제

윈도우CE가가장많이쓰이고있는분야는PDA 시장이다. 그러나현실적으로대부

분의 PDA 시장은팜운영체제(Palm OS)가 장악하고있고, 윈도우 CE가차지하는

부분은미미하다. 이런현실에마이크로소프트는새로운기능을첨가한윈도우CE를

개발하려는움직임을보이고있다. 이를포켓PC라고명하고있으며, 그내용을살펴

보면컬러디스플레이를지원하고, 아웃룩(Outlook), 엑셀(Excel), 윈도우미디어플

레이어(Windows Media Player), 인터넷익스플로러(Internet Explorer), 이북리더

(eBook reader), 워드(Word)와 같은 애플리케이션 프로그램을 탑재하며 휴대폰과

연계하여와이어리스기능까지구현하겠다는계획을밝히고있다.

>> 임베디드리눅스

리눅스는초기PC나서버급시스템에포팅이되어사용되다최근에는임베디드시

스템으로그관심사가옮겨진듯하다. 이미일부국가에서는임베디드시스템에리눅

스가 포팅되어 실제 제품으로 선보이고 있는 예도 비일비재하다. DEC에서 만든

DECstation이란 워크스테이션은 MIPS 기반의 R2000/3000/4000에 리눅스를 포

팅하였고, 모토롤라에서는 콜드파이어에 uclinux를 포팅한 네트워크 장비를 개발하

였다.

암코어(ARM core)를프로세서로사용하는시스템은 http://www.arm.uk.linux.

org/에서리눅스를포팅한소스코드들을찾아볼수있다. 주로인텔사에서개발한스트

롱암(StrongARM) 시스템에포팅한사례가많다. Empeg라는MP3 플레이어도있으

며, Itsy라는컴팩에서만든PDA 역시스트롱암에리눅스를포팅하여만든제품이다.

그중에눈에띄는제품이지메이트에서만든PDA인YOPY이다.

Chapter 1임베디드시스템

Ch

ap

ter1

23

Page 24: Embedded System Linux - scitech.co.kr · 많았기때문이다. 2000년대에들어서면서인터넷인구가급증하고멀티미디어컨텐 츠가폭증하면서인터넷TV는대중화의새로운전기를맞았다

24

YOPY 역시 스트롱암 시스템에 리눅스를 포팅하였으며, MP3 및 MPEG 플레이

어, 웹 브라우저, 전자우편 기능 등이 내재되어 있다. GUI의 기능을 부가하기 위해

덩치가크고실행시많은자원이필요한X-Window 대신W-Window를사용하였다.

임베디드운영체제분야에서임베디드리눅스의비중은점점커지고있다. 기존의

임베디드운영체제와비교해보았을때, 상용 운영체제보다는임베디드시스템이가

지는 실시간적인 요소를 충족시키지 못하는 것은 사실이다. 또한 윈도우 CE보다는

개발환경이좋은편도아니다. 그리고본래 PC 기반으로만들어졌기때문에메모리

가열악한임베디드용으로쓰기에는커널이너무크다. 이런불리한점을가진임베디

드리눅스가그비중이커지고사람들이많이다루게되는배경에는오픈소스에라이

센스비용이없다는임베디드리눅스의큰장점을들수있다. 그렇지만분명실시간

기능이떨어지기때문에경성실시간시스템에서는쓰기힘들고, 커널의크기를줄여

서PDA 같은임베디드시스템에만가능할지모른다. 이러한임베디드리눅스에실시

간제어의요소를가미한것이RT-Linux이다.

>> RT-Linux

기존의리눅스는타임슬라이스에의한스케줄링방식을따르고있다. 따라서지금

수행되고있는프로세서보다다음에수행될프로세스가우선순위가높더라도바로지

금수행되는프로세스가중단되는것이아니라주어진타임슬라이스가되어야만현

재의 프로세스가 프로세서를 운영체제에 돌려준다. 또한 현재 수행되는 프로세스가

다른프로세스보다우선순위가높다고해서계속수행되는것이아니라, 역시주어진

타임슬라이스가지나면다른프로세스에게프로세서를양보해야만한다. 이런 이유

로인해기존의리눅스가실시간기능이떨어지는것이다.

RT-Linux는New Mexico Tech의Victor Yodaiken에의해시작된것으로기존리

눅스에실시간기능을부과하였다. 리눅스는커널자체가실시간기능이떨어지기때

문에이를대신할실시간커널을만들었다. 여기서는기존의커널을그대로두고새로

이실시간커널을추가했다고생각하면된다. 이렇게함으로써최소한의소스변경으

로실시간기능을추가할수있는것이다. 기존의커널은새로운실시간커널하에서

하나의프로세스로존재한다. 여기서 기존의커널은우선순위가가장낮은프로세스

로, 다른실시간프로세스들이없어야비로소실행되던것이다.

실시간커널은실시간프로세스를생성, 스케줄링해서실행하고, 기존의리눅스커

널은자신의프로세스를관리하고자신의인터럽터를처리한다. 실시간 커널의스케

Embedded Linuxmbedded S

ystem

Page 25: Embedded System Linux - scitech.co.kr · 많았기때문이다. 2000년대에들어서면서인터넷인구가급증하고멀티미디어컨텐 츠가폭증하면서인터넷TV는대중화의새로운전기를맞았다

줄링은선점형스케줄러로서프로세스의우선순위를두고스케줄링을실시한다. 따라

서커널이선점형커널이되어야하므로, 기존의리눅스커널이제공하는시스템콜을

실시간프로세스나인터럽터가이용하지못하게함으로써이를해결하고있다.

RT-Linux는기존리눅스에비해실시간기능이향상된것은사실이지만기존의리

눅스커널에다새로이실시간커널을추가한것으로시스템자원이충분하지않은임

베디드용운영체제로는덩치가큰것이단점이다.

>> 임베디드시스템에서의자바

1990년에선마이크로시스템사(Sun Microsystem)에서그린(Green) 프로젝트로

개발된Oak는전자제품에서사용할소프트웨어로개발되었다. 이소프트웨어는다른

시스템에대한이식성은매우높았으나전자제품과같은임베디드시스템에서는쓰이

지못하고, 인터넷프로그래밍에쓰일수있다는가능성이발견되자Oak를인터넷프

로그래밍이가능하게개발하여만든것이“자바”이다. 이제껏인터넷프로그램으로만

쓰이다가자바가임베디드시스템에서사용된대표적인것이선마이크로시스템사의

“임베디드자바”와“퍼스널자바”이다.

자바의가장큰장점은어떠한시스템에도Java API와JVM(Java Visual Machine)

만있으면자바코드가이식이가능하다는것이다. Java API와 JVM이내장되어있는

임베디드자바와퍼스널자바는기존의상용RTOS와연계되어사용가능하다는것이

다. 즉, RTOS가포팅된타겟시스템에임베디드자바나퍼스널자바에연계되어그위

에응용프로그램으로자바코드나자바애플릿이실행가능하다는뜻이다.

퍼스널자바는 JDK와호환성을가지고있는자바응용환경(JAE, Java Applica-

tion Environment)를 내장하고있어자바애플릿수행이가능하다. 따라서어느정

도의애플릿이필요한웹브라우징폰이나셋톱박스같은제품에서사용한다. 임베디

드자바는애플릿을구현하는부분이빠진JAE를가지고있어애플릿구현은불가능

하다. 따라서사용자인터페이스가제한적이다. 구현가능한제품도모바일폰, 네트

워크장비, 프린터등사용자인터페이스가제한적인제품에만사용된다.

>> 자바칩(JavaChip)

자바코드를 마이크로프로세서에서 직접 실행해서 프로그램의 수행 속도를 빠르게

할목적으로만든프로세서가자바칩으로 picoJava, microJava, ultraJava 등이 있

다. picoJava는 PDA, 스마트폰, 저전력가전디바이스에, microJava는저가네트워

Chapter 1임베디드시스템

Ch

ap

ter1

25

Page 26: Embedded System Linux - scitech.co.kr · 많았기때문이다. 2000년대에들어서면서인터넷인구가급증하고멀티미디어컨텐 츠가폭증하면서인터넷TV는대중화의새로운전기를맞았다

26

크디바이스, PDA, 전기통신기기, 게임기에, ultraJava는웹PC 등의데스크탑환경

의시스템에각각사용된다.

지금까지 임베디드시스템의정의와특징, 그리고 임베디드시스템을제어하기위

한각종임베디드운영체제에대해간략하게살펴보았다. 임베디드시스템을이해하

고임베디드운영체제를알기위한가장빠른방법은시스템개발환경을구축하여실

제로임베디드운영체제를시스템에포팅하고애플리케이션프로그램을구현해보는

것이다. 현재 임베디드 시스템은 데스크탑 환경에서처럼 하나의 운영체제가 시장의

대부분을차지하는것이아니라, 어떤운영체제도시장을장악하지못한채여러개의

운영체제들이출시되어있는상태이다. 이들운영체제들을다아는것도좋지만, 자신

의시스템에맞는운영체제를택해완벽하게구현해볼것을권한다.

Embedded Linuxmbedded S

ystem