공개SW 기술팁



임베디드월드


글: 정환용 기자 hyjeong@epnc.co.kr / 2017-06-13




PART 2. 다양한 분야의 임베디드 운영체제





Part 1   임베디드 시스템이란?
Part 2   다양한 분야의 임베디드 운영체제
Part 3   대표적인 임베디드 운영체제와 시장 현황




다양한 분야의 임베디드 운영체제
부트로더, 커널, 그리고 응용프로그램



▲생활에 가장 밀접하게 관련된 백색가전제품에 인공지능 음성 서비스가 적용되면, 사용자가 해야 할 일 이 더 줄게 된다. 지금 당장은 일부 이런 시스템을 탑재한 환경에서나 가능하지만, 향후 비슷한 경험을 위한 표준이 정해진다면 거의 모든 가전제품을 음성만으로 사용할 수 있게 된다.

지난 5월 18일, LG전자는 자사의 시그니처 시리즈 가전제품과 구글의 인공지능 스피커 ‘구글 홈’을 연동하는 스마트 가전 시스템을 공개했다. 냉장고, 세탁기, 공기청정기 등의 생활가전 제품에 구글 홈 연동 서비스를 우선 탑재하고, 조만간 에어컨, 오븐, 건조기, 로봇청소기 등 다양한 가전제품에도 이 서비스를 적용할 계획임을 밝혔다. 이를테면 구글 홈 스피커를 통해 음성으로 공기청정기를 켜고, 세탁기 속 세탁물을 한 번 더 헹구는 등의 명령을 내릴 수 있게 되는 것이다.


이 시스템이 가능해지기 위해선 각 가전제품들이 구글의 음성명령 시스템과 연결돼야 한다. 기존에 제품 자체의 기능만으로는 불가능하고, 이 명령을 전송받아 실행하고, 그 결과를 보고할 수 있는 시스템이 탑재돼야 한다. 여기에는 PC처럼 다양한 작업을 수행할 필요가 없고, 오로지 음성 명령으로 그 제품이 가진 기능에 대한 엔터키를 누르는 정도의 시스템이면 충분하다. 여기에 필요한 것이 임베디드 시스템이다.




상용 RTOS(Real Time Operating System)
RTOS는 말 그대로 실시간 처리에 대한 지원과 통합 개발·디버깅 환경을 지원하는 운영체제다. 통합 개발환경과 디버깅 툴 덕분에 개발자들이 사용하기 용이한 개발 환경을 지원하고, 현재 가장 많은 종류의 운영체제가 존재한다. 혼다의 2족 보행 로봇 ‘아시모’의 운영체제 ‘VxWorks’가 RTOS이고, 화성 탐사선 패스파인더 역시 같은 운영체제로 작동한다. 대부분의 RTOS는 상용 소프트웨어여서 비싸다는 것이 단점이다.


RTOS의 핵심은 응용 프로그램의 태스크 처리에 걸리는 시간을 얼마나 일관되게 유지하는가에 있다. 처리 시간의 변동 폭에 따라 경성(Hard)과 연성(Soft)으로 나뉘는데, 경성 RTOS가 처리 시간의 변동 폭이 적다. RTOS의 설계 방식은 ▲수행 중인 태스크보다 우선순위가 높은 이벤트가 서비스를 요청할 때 발생하는 ‘이벤트 구동’(Event driven) 방식 ▲주기적인 이벤트가 발생할 때 태스크가 전환되는 ‘시분할’(Time sharing) 방식 등이 있다.


Vxworks

VxWorks는 윈드리버가 만든 대표적인 RTOS다. 윈드리버는 전 세계 1억 개 이상의 임베디드 컴퓨팅 기기에 임베디드 소프트웨어와 솔루션을 제공해 왔고, 국내에도 1996년 지사가 설립돼 하드웨어·소프트웨어 시장 모두에서 사용되고 있다. VxWorks는 64비트 프로세싱과 I/O, 메모리를 지원해 성능을 개선했고, 4GB의 메모리 액세스에 대한 장벽을 뛰어넘었다. 멀티코어 기능과 네트워크 스택을 탑재해 AMP, SMP를 지원하고, 가상화 솔루션을 활용할 수 있는 개발 툴도 탑재돼 있어 다양한 프로세서에 대한 BSP 로드맵을 지원한다.


VxWorks는 수많은 사람들이 사용하는 만큼 많은 테스트를 거쳐 검증된 폭넓은 네트워킹과 미들웨어 기술이 사전 통합된 제품이다. 윈드리버의 워크벤치를 통해 코드 분석, 디버깅, 테스트 등 개발에 필요한 절차가 통합돼 제공된다. VxWorks의 플랫폼 구성 요소는 이클립스(Eclipse) 기반의 개발 환경인 워크벤치를 비롯해 통합 시뮬레이터, 런타임 분석 툴, 최적화된 컴파일러가 포함돼 있다. 윈드리버 워크벤치 온칩 디버깅과 워크벤치용 IPL Cantata++ 애드온이 추가됐다.


pSOS(Portable Software On Silicon)
국내 업체들이 많이 사용하는 pSOS은 과거 삼성전자의 휴대폰에 사용됐던 임베디드 운영체제다. 멀티태스킹 RTOS인 pSOS는 커널을 중심으로 여러 소프트웨어 컴포넌트로 구성돼 있는데, 각 태스크들은 우선순위를 가지고 있어 순위가 높은 작업을 먼저 수행하게 되기에 선점형 스케줄링 방식을 따른다고 보면 된다. 각 태스크가 같은 우선순위를 가진다면 스케줄링 방식이 프로세스 사이에 우선순위를 두지 않고 순서대로 처리하는 라운드 로빈(Round robin) 방식으로 바뀌게 된다.


윈도우 임베디드 운영체제

우리에게 가장 친숙한 마이크로소프트의 윈도우는 알고 보면 종류가 꽤 많다. 개발자를 위한 임베디드 운영체제 최신 버전인 ‘윈도우 10 IoT’는 일반 윈도우 10의 모든 기능을 포함하고 있고, 산업용 기기 개발에 최적화된 임베디드 락다운 기능이 추가로 제공되는 운영체제다. 특히 IoT 기기에 중점을 맞췄는데, IoT 게이트웨이 장치를 비롯해 데스크톱, 모바일 기반의 모든 플랫폼에 통일된 하나의 윈도우 플랫폼을 제공한다. IoT 기기에 대한 일관적인 관리와 배포, 확장성을 제공하고, 최신 보안 기술과 더불어 여러 센서와 주변기기, 다른 기기 간의 양방향 통신과 연결성 또한 뛰어나다.


윈도우 10 IoT는 32/64비트를 모두 지원하고, 기존의 Win32, Win7, Win8 기반의 응용 프로그램을 사용하는 것도 어렵지 않다. 윈도우 10 기반의 다양한 플랫폼에서 하나의 유니버설 애플리케이션과 드라이버를 사용하고, ‘바코드’(Barcode), ‘맥 스트라이프 리더’(Mag-Stripe Reader), ‘리시트 프린터’(Receipt Printer), ‘캐시 드로워’(Cash Drawer), ‘페이먼트 터미널’(Payment Terminal) 등의 확장된 리테일 주변 기기 API를 지원한다. 윈도우 10의 음성인식 비서 ‘코타나’도 사용할 수 있고, 마이크로소프트 애저 IoT 서비스 기반의 새로운 제품 개발과 비즈니스 창출도 수월하다.


윈도우 10 기반인 만큼 다른 임베디드 운영체제보다 시스템 요구 사양이 약간 높은 편이다. 메모리의 경우 32비트 프로세서는 1GB, 64비트 프로세서는 2GB 이상이 필요하고, 저장공간도 16GB 정도가 요구된다.(64비트 프로세서는 20GB) 디스플레이는 1024X768 이상의 해상도, 픽셀 당 32비트 컬러를 지원한다.


임베디드 리눅스

현재 수많은 웹 서버와 모바일 기기의 운영체제가 리눅스 기반이다. 서버 시장에서 리눅스는 절대적인 입지에 있기도 하다. 기본적으로 오픈소스이고, 높은 안정성과 더불어 오래 전부터 개발에 참여한 사람들의 노하우도 많이 쌓여있다. 다양한 프로그램을 구동하는 것이 아니라 데이터 보관과 운용이 목적인 서버 운영체제로는 제격이다. 대부분의 서버용 프로그램들이 리눅스를 지원하고, 리눅스 기반으로 만들어지고 있다.


데스크톱에서의 리눅스의 존재감은 서버 대비 약한 편이다. 개발자 리누스 토르발즈는 데스크톱에서의 리눅스 점유율을 아쉬워했는데, 이는 리눅스의 출발이 데스크톱용 운영체제였다는 점을 봤을 때는 납득이 가는 부분이다. KDE, GNOME 등의 데스크톱 환경이 계속 발전하며 사용하기 간편해지고 안정성도 높아지고는 있다. 게다가 리눅스용 소프트웨어도 조금씩이나마 증가 추세를 보이고 있으며, 결정적으로 게임 플랫폼인 스팀도 지원하기 시작해 점유율이 늘고 있다.


리눅스는 기본적으로 완성형 소프트웨어라기보다는 커널의 일종이고, 이 커널을 사용하는 운영체제를 가리키기도 한다. 커널은 운영체제를 규정하는 것으로 하드웨어의 자원을 필요한 프로세스에 나눠주고 제어하는 역할을 담당한다. 윈도우, 맥OS 등의 운영체제는 이 커널 위에 여러 가지 기능의 레이어를 쌓아올려 만든 소프트웨어다. 커널의 종류는 ▲운영체제 내의 모든 이벤트를 한 개의 커널이 모두 처리하는 ‘모놀리식 커널’ ▲기기 관리를 제외해 안정성과 보안 수준을 높인 ‘마이크로 커널’ ▲모놀리식 커널에 마이크로 커널의 디자인을 결합시켜 만든 ‘하이브리드 커널’ 등이 있다. 이 중 하이브리드 커널 디자인의 운영체제가 마이크로소프트의 윈도우 시리즈다.


레드햇

리눅스 기반의 배포용 운영체제를 만드는 수많은 제작사 중 국내에서 가장 유명한 것은 레드햇 리눅스다. 1994년 처음 출시됐고, 배포는 무료이고 기술 지원은 유료로 진행되다가 2003년 이후로는 엔터프라이즈 버전(RedHat Enterprise Linux, RHEL)으로 전면 유료화됐다. 현재 세계 금융 거래의 절반 이상이 RHEL을 통해 처리될 만큼 높은 점유율을 가지고 있고, 지난 2016년에는 매출 24억 달러를 돌파하기도 했다. 레드햇은 오는 2017년에는 오픈 하이브리드 클라우드 관련 기술과 솔루션으로 시장 점유율을 더욱 높이겠다는 전략을 세우고 있다.




냉장고에 적용되는 임베디드 시스템
집에서 사용하는 전자제품 중 가장 높은 빈도로 사용하는 것은 이견 없이 냉장고일 것이다. 냉장고는 약간의 과장을 보태면 처음 구입해 작동시킬 때부터 새 제품으로 교체할 때까지 몇 년이고 24시간 동작해야 하는 기기다. 잠시라도 작동을 멈추면 안의 식품들이 녹아내리거나 상해버리게 된다. 경험이 끊이지 않고 지속돼야 하는 실시간 운영체제를 생활에 적용하기에 적절한 하드웨어 중 하나다.



▲삼성전자 쉐프 컬렉션 패밀리 허브 냉장고. 임베디드 운영체제는 향후 가정, 사무실 등 모든 장소에서 전자기기들을 하나의 컨트롤러로 통제하는 환경을 구축할 수 있는 교두보다.

사물인터넷을 적용할 수 있는 냉장고를 예로 들어보자. 냉장고의 임베디드 시스템 동작에는 어떤 기능이 필요할까? 그리고 추후 음성인식을 포함한 인공지능까지 임베디드 시스템에 포함된다면, 우리가 알던 냉장고와 어떻게 달라질까? 온도 조절 등의 냉장고 본연의 기능을 제외하고, 스마트 냉장고의 임베디드 시스템에 필요한 기술과 제공될 기술에 대해 상상해 보자.


양방향 네트워크 연결 →냉장고 정보 실시간 확인 및 명령 수행
SoC가 포함된 아주 작은 크기의 보드가 내장될 때, 사용자가 하드웨어나 소프트웨어에 접근할 필요는 없기 때문에 USB 포트나 유선 LAN 포트는 없어도 된다. 범용 보드가 아니기 때문에 제조사에서 칩 장착에 필요한 최소한의 공간을 유지한 보드를 자체 제작할 수 있고, 전원 연결이나 조작 관련 모듈도 필요 없다. 무선 조작을 위해 Wi-Fi나 블루투스 기능이 필요하고, 사용자 고유 설정과 각종 필요 데이터 저장을 위한 저장장치도 요구된다. 냉장고의 평균 사용기간이 10년 이상이기 때문에, microSD처럼 별도 장착하는 메모리보다는 SoC 저장장치가 더 적합하다.


화면 내·외부 촬영과 인식 → 보관 중인 식품 정보 관리
지금으로선 시험 단계 정도에 머물러 있지만, 추후 냉장고 내부 상태를 확인할 수 있는 저온 작동형 카메라 모듈이 필요하다. 카메라의 유무에 따라 냉장고의 정보에 대한 품질이 많이 달라진다. 유통기한이 있는 식품을 냉장고 외부에 배치된 카메라로 식품의 종류와 유통기한 관련 정보를 촬영해 입력해 두면, 기한에 가까워질 때 이 정보를 스마트폰으로 확인할 수 있다. 또한, 냉장고 내부를 촬영하고 촬영 이미지로 각 칸에 보관된 식품들의 정보를 파악하면, 오늘 저녁 어떤 요리를 할 수 있는지 추천을 받을 수 있다. 이것은 내장되는 임베디드 모듈만으로는 안 되고, 네트워크 기능으로 클라우드 서비스에 연결된 제조사의 서버 기능을 활용해야 한다.


태블릿PC로서의 기능은 선택
사진의 냉장고는 삼성전자의 ‘쉐프 컬렉션 패밀리 허브’ 제품으로, 양방향 네트워크는 물론 냉장고 내부를 3대의 카메라로 확인할 수 있고, 다양한 부가기능이 포함된 IoT 냉장고다. 모바일 운영체제를 탑재해 음악 앱을 사용하거나 다른 IoT 기기를 제어하는 등의 추가적인 기능도 탑재돼 있다. 사용자의 입장에서 이 부분은 선택적인 것으로, 모바일 운영체제를 적용하려면 임베디드 하드웨어의 성능이 상당히 높아져야 하고, 이것이 제품의 가격 상승으로 이어지는 부담이 있다.


이는 기자의 개인적인 관점으로, 스마트폰이나 태블릿PC를 중앙통제 시스템으로 사용할 때의 가전제품은 반드시 필요한 최소한의 기능만을 탑재하는 것이 오작동이나 고장의 위험을 줄이는 방법이라고 생각한다. 자동차의 옵션처럼 전용 운영체제가 아닌 모바일 운영체제가 탑재되는 것은 소비자가 선택할 수 있는 여지로 남겨놓는 것이 좋을 듯하다.




※ 본 내용은 (주)테크월드(http://www.ibeddedworld.co.kr)의 저작권 동의에 의해 공유되고 있습니다.
    Copyright ⓒ Techworld, Inc. 무단전재 및 재배포 금지


[원문출처 : http://www.epnc.co.kr/news/articleView.html?idxno=75600]

조회 수 :
332
등록일 :
2017.06.26
17:29:36 (*.162.249.76)
List of Articles
번호 제목
자료년도
날짜 조회 수
505 [웹로그분석툴] Google Analytics를 대체할만한 오픈소스 웹 로그 분석 도구 Piwik 소개 2017  2017-08-16 15
504 [Chrome] How-To : 크롬에서 일어나는 플래시 충돌 오류 해결하기 2017  2017-08-04 81
503 [IT열쇳말] 쇼단 2017  2017-07-13 232
502 [임베디드] 사물인터넷 향한 디지털 해바라기, 임베디드 운영체제 ③ 2017  2017-06-26 579
» [임베디드] 사물인터넷 향한 디지털 해바라기, 임베디드 운영체제 ② 2017  2017-06-26 332
500 [임베디드] 사물인터넷 향한 디지털 해바라기, 임베디드 운영체제 ① 2017  2017-06-26 434
499 [인공신경망] (2) 인공신경망 번역 기술 확보 경쟁은 지금부터! 2017  2017-05-29 603
498 '꽤 쓸만한' 무료 오픈소스 프로젝트 관리 툴 6가지 2017  2017-05-29 1219
497 핵심 오픈소스 SW 재단 8곳, 그리고 그들이 중요한 이유 2015  2017-05-25 630
496 컨테이너 클러스터를 마스터하기 위한 4가지 유용한 쿠베르네티스 툴 2017  2017-05-23 525


사이트하단 로고, 하단메뉴, 트위터 바로가기

퀵메뉴모음
퀵메뉴열기
퀵메뉴닫기