MEDC 2006 참관기

지난 5월 초 필자는 모바일/임베디드 산업 분야에서 영향력 있는 관계자들과 함께 라스베이거스에서 개최된 ‘MEDC(Mobile & Embedded Devcon) 2006’ 행사에 다녀왔다. 무려 10시간이 넘는 비행을 마치고 LA국제공항에 도착했다. 다시 자동차로 끝없이 펼쳐진 황량한 사막을 거쳐 4시간 30분 만에 사막 한 가운데 위치한 라스베이거스에 도착했다. 그 감회가 새로웠다. 사막에 어둠이 내려앉자 눈을 뗄 수 없는 레온사인이 우리를 흥분시켰다.Windows CE 탄생 10주년Windows CE가 지금처럼 성공하기까지 인고의 세월이 있었다. Windows CE는 1996년 11월 ‘앨더(Alder)’라는 코드명으로 세상에 실체를 드러냈다. 10년 전 시장에서는 개인정보관리시스템(PIMS)의 선두주자인 Palm PC가 인기를 끌고 있었다. 비록 흑백화면이지만 대중적 인기를 끌었다. 그러나 Windows CE 기반의 Pocket PC는 컬러화면과 PC의 오피스와 동기화 할 수 있는 획기적인 제품임에도 불구하고 메모리가 부족하여 속도가 느려 외면을 당했다.Windows CE 팀은 좌절하지 않고 2000년에 Windows CE 3.0을 발표하면서 다양한 기능성을 선보였다. 우선 기존의 느린 처리속도를 개선하고 윈도우 미디어 플레이어와 같은 동영상 플레이어를 Pocket PC에서 실현시켜 MP3와 WMA와 같은 멀티미디어를 볼 수 있도록 구현했다. 또 기업에서 사용할 수 있도록 데스크톱과 서버 간 미들웨어 컴포넌트를 구현, 더욱 더 많은 Pocket PC 장치를 양산시켰다. 컴팩의 IPAQ은 서버 판매보다 훨씬 더 경이적인 판매가 이뤄졌다.마침내 Windows CE 4.X에서는 Pocket PC나 스마트폰과 같은 컨수머 영역 이외의 임베디드 산업 분야에서도 쓸만한 솔루션으로 인식되면서 시장을 넓혀가기 시작했다. 그 이유는 임베디드 가전기기에서의 32비트 운영체제 요구사항과 실시간 운영체제의 특징, 임베디드 리눅스보다 나은 사용자 경험을 제공한다는 점이 결정적 이었다. 결국 Windows CE 5.0에 이르러 세계 임베디드 장치 상용 부문 1위를 차지하기에 이른다(VDC 자료). 또한 가트너의 발표에 따르면 Windows CE 5.0은 세계 실시간 운영체제 점유율 1위로, 연간 146%의 유닛별 장치가 생산되고 있다.지능형 연결 디바이스의 미래, Windows CE 6Embedded World 4월호 기사를 관심 있게 읽어 본 독자라면, 코드명 ‘야마자키(Yamazaki)’ 라고 하는 Windows CE 5.0 차세대 버전의 특징에 대해 눈치 챘을 것이다. 바로 이번 MEDC 2006 행사의 주요 테마로 Windows CE 6이 소개되었다.현재 Windows CE 6은 베타2 버전으로, 모든 사람들이 사용할 수 있도록 퍼블릭 베타로 출시돼 있다. 마이크로소프트는 MEDC 2006 행사에 참석한 모든 개발자들에게 Windows CE 6 플랫폼 빌더가 들어 있는 DVD를 나누어 주었다. 이 자리에서 올 하반기에 정식 발표(RTM)를 한다는 소식도 들을 수 있었다.마이크로소프트는 Windows CE 6을 출시하기 위해 2004년 미국과 일본에서 WEDR(Windows Embedded Design Review)라는 행사를 개최했다. 이때 58명의 고객을 직접 만나 여러 가지 개선해야 할 대상에 대해 의견을 나누었는데, 이 중 34명이 개발자였다.마이크로소프트는 MVP들을 주요 고객으로 상정하고 임베디드 분야의 MVP들에게 MVP Global Summit 2005에서 Windows CE 6의 기능을 직접 사용하게끔 함으로써 현장 개발자들의 의견을 수집했다. 특히, Windows CE 6의 상품계획은 전세계 시장과 전략적인 측면에 중요성을 매겨 나오게 되었는데, 앞으로 2년마다 새로운 임베디드 운영체제를 선보 일 계획이다.이제 새로운 임베디드 운영체제의 면모를 갖추게 된 Windows CE 6의 주요 특징을 하나하나 살펴보도록 하자.첫째, 기존의 커널 파일들이 모두 EXE 형태에서 NK.EXE 외에 Driver나 GWES 등 커널 이외의 외부 파일들을 데스크톱 PC 운영체제처럼 동적 DLL 형태로 변경한 통합 커널(Unified Kernel)로서 미래 임베디드 운영체제의 초석을 다지는 기반이 되게 했다.둘째, 임베디드 개발자들에게 그 동안 제약되었던 32개의 프로세스와 한정된 메모리 제약을 풀어 무제한의 프로세스와 2GB의 사용자 메모리를 사용할 수 있도록 제공했다. 한편, PC에서만 제공하던 Watson과 같은 덤프 메모리를 조사할 수 있는 기능과 더불어 실제 장치와 에뮬레이터를 동일하게 쓸 수 있게 해주며, 사용자가 좀더 쉽고 빠르게 장치 컨트롤러를 디버깅할 수 있도록 포스트-모텀(Post Mortem) 디버깅 기능을 제공한다. 또한 우수한 제품 품질의 BSP와 드라이버를 660개 이상 컴포넌트를 제공한다. 필요한 기능들을 디자인하며 컴포넌트를 카탈로그에서 버튼 하나로 체크해 주기만 하면 자동으로 ROM Image에 생성된다는 점을 잊지 말기 바란다.셋째, Windows CE 6부터는 인증되지 않은 드라이버와 응용 프로그램은 동작하지 않을 수 있다. 이것은 콘텐츠와 정보들을 좀더 보호하기 위해 마련된 기능이다. 따라서 안전한 부트로더와 C 런타임 라이브러리를 제공하고, 개인정보를 해킹하는 여러 가지 침해 등을 안전하게 맡게 해준다. 장치 드라이버 또한 커널 모드와 사용자 모드로 나누어 동작하게끔 해준다.넷째, 선점 장악을 위한 임베디드 장치를 즉시 시장에 출시할 수 있도록 개발자 생산성을 극대화하기 위해 마이크로소프트 개발자들이 가장 선호하는 Visual Studio 2005에 Platform Builder 쉘을 통합시켰다. 항상 버전이 업그레이드 될 때마다 임베디드 장치에서 OAL 기반 하에서 포팅하는 일이 골치 아플 것이다. 모든 것이 변해 버려 기존의 솔루션을 사용할 수 없다는 게 문제였다. 이에 착안하여 기존의 응용 프로그램과의 호환성을 높였으며 최소로 드라이버/BSP를 이전 할 수 있도록 계획을 마련했다.다섯 번째, Windows CE 6에서는 수많은 컴포넌트들이 새롭게 디자인되었는데, 그 중에서도 멀티미디어를 임베디드에서 구현하는데 어려움이 없도록 집중적인 인프라스트럭처를 갖추었다. 또한 요즘 우리나라는 WiBro나 HSPDA와 같은 광대역 무선망이 잘 갖추어져 있는데, Windows CE 6은 VoIP나 블루투스, WiFi 같은 유무선 연결성을 더욱 풍부하게 지원하고 PC와 호환성이 좀더 가깝도록 파일 시스템을 개조했다.새로운 Tiny OS, .NET 마이크로 프레임워크올 MEDC에서 발표된 가장 흥미로운 제품 중 하나는 그림 4에서 보듯이 실제 로봇인 Sumo Bot에 적용된 .NET 마이크로 프레임워크가 아닌가 싶다. .NET 마이크로 프레임워크는 SPOT 기술에 적용되어 북미지역에서 폭넓게 사용되고 있는 기술이다..NET 마이크로 프레임워크는 250~500KB 밖에 차지하지 않는 Tiny CLR을 포함한 Tiny 운영체제이다. 한 가지 재미난 사실은 이 Tiny CLR이 .NET 런타임을 최초로 부팅할 수 있는 코드를 탑재하고 있다는 점이다. 이것은 임베디드 관리형 운영체제를 실현 가능케 한다.Tiny CLR은 기존의 .NET Compact Framework와 완전 다르게 메모리와 프로세서, 배터리 등의 리소스 한계를 최소화 했고 ROM에서 사용할 수 있도록 최적화시켜 놓았다. 또한 .NET 언어 중 C#만 지원하며 ECMI의 CLI 표준을 그대로 따르고 있고 CLI 표준에 임베디드 런타임으로 내놓았다. 또한 .NET의 장점인 가비지 컬렉션(garbage collection)을 통한 시스템 메모리 관리 기법과 언어의 안정성을 도모하는 타입 시스템(type system), 멀티쓰레드 기법과 RPC, 직렬화 같은 현대적인 기법을 모두 수용하고 있다. 특히 XTEA나 RSA 표준 방식을 통하여 표준 보안 방식을 따르도록 해놓았다.개발환경은 Windows CE 6과 같이 Visual Studio 2005에서 실제 장치와 에뮬레이터를 통해 디버깅 하며 Sumo Bot을 여러 가지 형태로 시뮬레이션 형태로 움직일 수 있다. 네트워크 환경은 802.15.4와 같은 무선통신과 블루투스, TCP/IP 스택 기반으로 활용할 수 있으며 USART, I2C, SPI와 같은 드라이버를 모두 C#으로 구현해 놓았다..NET 마이크로 프레임워크는 현재 Windows Vista에서 사용되는 부가 CRT로 사용되는 Windows Slide를 나타내거나 노트북의 HW 상태와 부가적인 장치 웹 서비스를 구현하는 데, 그림 5와 같이 사용된다. 이러한 것은 DDK를 통해 포팅을 할 수 있도록 제공되며 하드웨어 추상 레이어와 플랫폼 추상 레이어가 별도로 존재하여 현재의 ARM CPU를 모두 지원한다.POS용 Windows XP 임베디드, WEPOS마지막으로 소개할 솔루션은 POS용 Windows XP Embedded이다.지금까지 판매시점관리시스템(POS) 시장은 표준화된 HW 시스템과 솔루션이 없었다. 이것이 WEPOS가 나오게 된 계기다. 각 POS 장치에 SW가 번들로 제공되거나 HW를 공급하는 업체가 부가적으로 소프트웨어를 개발하다보니 각 장치마다 응용 프로그램이 달랐으며 배포된 장비에 유지보수가 쉽지 않았다.이에 마이크로소프트는 2년여 전부터 Windows XP 프로페셔널 운영체제 기반으로 공통된 HW 시스템 설치 및 구성 설정을 제공하고, 여러 하드웨어 업체와 승인된 디바이스 드라이버 및 컴포넌트 등을 제공하기 시작했다. WEPOS 1.1은 올 상반기에 출시됐다.WEPOS는 마이크로소프트의 자체 기술뿐만 아니라, 기존의 OPOS와 JPOS 같은 표준 스펙에도 적용되며 풍부한 Win32 API 지원은 물론 요즘 유행하고 있는 C#이나 VB.NET과 같은 .NET 언어로 지원하고 있어 웹서버의 웹 서비스나 웹 응용 프로그램, 스마트 클라이언트 응용 프로그램을 지원함으로써 기본적인 POS 업무뿐만 아니라 유저에게 음악을 무료로 제공하거나 관련된 상품을 판매하는 간이 쇼핑몰까지 POS용 솔루션을 확장시킬 수 있다.결정10년 동안 개발돼 온 Windows CE의 기나긴 여정은 아직 끝나지 않았다. 이미 언급했듯이 마이크로소프트는 계속해서 2년 단위로 새로운 임베디드 운영체제를 선보 일 계획이다. 이 같은 계획은 그 만큼 임베디드 시장에서 수많은 고객들의 요구사항을 수용하기 위함이다.우리가 황량한 모자비 사막을 넘어 신기루같은 라스베이거스에 무사히 도착할 수 있었던 것은 바로 이정표와 지도 덕분이다. 마이크로소프트 윈도우 임베디드 운영체제는 바로 여러분들이 가고자 하는 길의 이정표다. 임베디드 개발자의 생산성과 임베디드 사용자의 경험을 더욱 더 쉽고 빠르게 하기 위해 Windows CE는 6.0 정식 버전으로 달려가고 있다.한국 마이크로소프트는 6월 23일 COEX에서 MEDC 2006 Korea 행사를 개최한다. 관심 있는 모바일/임베디드 개발자들은 참석하기 바란다.
회원가입 후 이용바랍니다.
개의 댓글
0 / 400
댓글 정렬
BEST댓글
BEST 댓글 답글과 추천수를 합산하여 자동으로 노출됩니다.
댓글삭제
삭제한 댓글은 다시 복구할 수 없습니다.
그래도 삭제하시겠습니까?
댓글수정
댓글 수정은 작성 후 1분내에만 가능합니다.
/ 400
내 댓글 모음
저작권자 © 테크월드뉴스 무단전재 및 재배포 금지