[특집] 윈도우 XP 임베디드 플랫폼의「전략과 미래」
페이지 정보
관리자 작성일: 07-04-26 11:33 조회: 4,100회본문
[특집] 윈도우 XP 임베디드 플랫폼의「전략과 미래」
서진호 (임베디드 SW 전문가) 2007/04/23
xpembedded
Microsoft
우리 주위를 둘러보면 어렵지 않게 임베디드(Embeded) 기기를 접할 수 있다.
가령 고속철(KTX), 지하철 천정에 걸려 있는 디스플레이 모니터부터 PDA, 스마트폰 등의 모바일 기기들을 비롯해 로봇, 텔레매틱스, 공장 자동화, 군사기기, 센서 노드에 이르기까지 생활 주변에서 쉽게 접할 수 있는 디지털 제품은 모두 임베디드 기기라고 볼 수 있다.
즉 임베디드 기기를 간단하게 정의하면 ‘디지털 기기들에 컴퓨터가 내장돼 배터리를 적게 소모하는 강력한 시스템’이다.
편집자주:전세계 임베디드 산업의 현주소를 알아보고 마이크로소프트의 임베디드 플랫폼의 전략과 미래를 살펴본다. 또한 미래 임베디드 산업이 앞으로 어떻게 흘러갈지에 대해서도 논의해 보도록 하겠다.
◆윈도우 임베디드의 시작
해외 모 임베디드 커뮤니티 사이트에 접속하는 유저를 대상으로 온라인 설문조사를 실시한 결과 (*그림1 참조) 지난 2년간 가장 많이 사용한 임베디드 플랫폼은 '윈도우 임베디드 CE'인 것으로 나타났다.
임베디드 CE는 조사결과 21.2%를 차지했고 '윈도우 모바일'과 '윈도우 XP 임베디드'가 16.6%로 공동 2위를 차지했다. 이 밖에 리눅스가 13.2%로 그 뒤를 이었다.
또 ‘향후 2년간 귀사가 선택할 임베디드 플랫폼은 무엇인가’에 대한 물음에선 윈도우 임베디드 CE가 여전히 1위를 자리를 고수했고, 윈도우 XP 임베디드가 20.5%로 그 뒤를 이었다.
[그림1]윈도우 포 디바이스 닷컴 온라인 설문 조사
마이크로소프트사(MS)의 윈도우 임베디드 플랫폼에는 우리에게 잘 알려진 윈도우 임베디드 CE 와 윈도우 XP 임베디드가 있다.
윈도우 XP 임베디드란 일반 PC 형태의 임베디드 컴퓨팅으로써 x86 프로세서에서만 동작하기 때문에 실시간 기능성은 제공하지 않는다. 하지만 풍부한 PC 하드웨어 컴포넌트 및 드라이버를 제공해 안전하고 강력한 임베디드 시스템을 개발할 수 있게 해준다.
윈도우 XP 임베디드의 시작은 MS-DOS이다. 정확하게 말해서 문자 기반의 운영체제를 사용할 때 부터라고 할 수 있다. 그 당시에 모든 임베디드 운영체제는 펌웨어와 같은 텍스트 기반 형태였다(그림2 참조).
[그림2] 텍스트 명령 형태의 DOS 임베디드 시스템
그 이후 그래픽 사용자 인터페이스를 데스크톱 PC에서 윈도우 3.1이라는 이름으로 시작하게 됐는데 임베디드 분야에서 롬(ROM)에 탑재해 사용할 수 있도록 개발자들에게 처음으로 제공했다.
1995년부터는 8비트(bit)나 16비트의 임베디드 프로세서가 막을 내리고 본격적으로 i80386과 같은 32비트 프로세서를 포함하는 임베디드 시장이 형성되기 시작했다.
그리고 끊임없는 발전을 통해서 마침내 펜티엄 프로세서가 출시됐고 개발자들은 뛰어난 처리 속도와 그래픽 성능 향상으로 사람과 기계 사이에 강력한 인터페이스를 탑재한 임베디드 시스템을 개발하게 된다.
그러나 RTOS나 임베디드 커널에 익숙한 임베디드 개발자라면 윈도우 95나 윈도우 NT를 탑재한 임베디드 운영체제에 대해서 헛갈릴 수 있다.
그래서 윈도우와 호환 가능하면서 RTOS 기능과 임베디드 커널을 탑재한 임베디드 운영체제 프로젝트가 시작됐는데 이것이 바로 ‘윈도우 임베디드 CE’였다.
윈도우 임베디드 CE란 임베디드 시스템과 가전 제품에 사용할 목적으로 개발된 운영체제.
이는 개발자들에게 Win32 API와 같은 익숙한 윈도우CE API를 제공한다.
당시 임베디드 개발자들에게 윈도우 95, 윈도우 NT에서 볼 수 있었던 API 나 MFC를 지원했는데, 데스크톱PC에서 지원하던 Win32 API를 배터리 절약과 플래쉬 메모리에 맞게 쓸 수 있도록 개량한 WinCE API가 큰 호응을 얻었다.
WinCE API는 Win32 API와 같이 뛰어난 사용자 인터페이스 API를 제공하며 강력한 멀티미디어 기능을 임베디드 환경에서 구현할 수 있도록 했다.
◆윈도우 XP 임베디드 환경에서의 개발
윈도우 XP 임베디드 환경에서 개발이란 윈도우 XP 임베디드 스튜디오 안에 포함돼 있는 약 1만 2,000개의 컴포넌트를 서로 조합해 배포하면 끝난다.
그 이유는 윈도우 임베디드 CE처럼 멀티 CPU를 지원하지 않기 때문에 각 장치 속에 있는 CPU에 맞게 포팅(Porting)하는 일련의 작업이 생략돼 코어 부분을 편집할 필요가 없다.
윈도우 XP 임베디드 스튜디오라는 강력한 개발 및 배포 도구만 있다면 쉽고 편리하게 대상 디바이스에 제공할 수 있다.
그림3 – 윈도우 XP 임베디드 환경에서의 전체 개발 절차]
그림 3에서 보듯이 윈도우XP 임베디드 환경에서 모든 개발 절차는 리눅스나 윈도우 임베디드 CE와 같은 타 임베디드 운영체제 개발과 차이점을 두고 있다.
예컨대 쥬크박스와 같은 동영상 및 음악을 듣는 기기를 만든다고 가정해 보자.
우선 쥬크박스와 같은 타겟 장치의 하드웨어 및 드라이버 정보를 타겟 분석기로 정의한 다음 최종 고객이 사용할 사용자 인터페이스를 담은 응용 프로그램을 바이너리 형태로 컴포넌트 디자이너에게 제공한다.
그러면 개발자들은 컴포넌트 디자이너를 통해 윈도우 미디어와 다이렉트X 기술과 같은 필요한 컴포넌트를 추가 또는 삭제를 한다. 그리고 최종적으로 타켓 장치에 배포시킨다.
또한 응용 프로그램은 비주얼 스튜디오 2005(Visual Studio 2005)와 같은 개발 도구로 데스크톱PC에서 사용하던 Win API를 그대로 이용할 수 있다.
이는 데스크톱PC 응용 프로그램과 100% 호환 가능하므로 특별히 윈도우 XP 임베디드 환경을 위해 응용 프로그램을 개발할 필요가 없는 것이 큰 장점이다.
이런 절차는 윈도우 NT 임베디드 플랫폼부터 정착돼 지금의 윈도우 XP 임베디드 운영체제 플랫폼의 ‘조상’격이 됐다. 윈도우 NT의 데스크톱 특성을 전부 컴포넌트로 나눠 쉽게 개발할 수 있고 배포할 수 있도록 제공된 것이다.
[그림4] 윈도우 XP 임베디드 스튜디오
그림4는 윈도우 XP 임베디드 스튜디오라고 부르는 개발 배포 도구 중 대상 디자인에서 최종 단계로 빌드되고 있는 모습이다.
윈도우 XP 임베디드의 최신 버전은 .NET 프레임워크 2.0 기반의 윈도우 XP 임베디드 FP 2007 버전이다.
윈도우 XP 임베디드 스튜디오에서는 약 1만 2,000개 이상의 컴포넌트가 수록돼 있고 개발자들에게 표준 Win32 API를 제공하며, 게다가 데스크톱 운영체제와 동일한 장치 드라이버를 사용할 수 있도록 제공해 준다.
특히 윈도우 XP 임베디드 FP 2007부터는 USB 2.0 부팅을 할 수 있도록 지원해 주며, PCMCIA와 CF 카드와 같은 외부 장치와 더불어 IEEE 1394 및 제거할 수 있는 미디어 카드 (SD 카드, 플래시 카드, 소니 메모리 스틱, 멀티미디어 카드)를 모두 제공한다.
그리고 윈도우 XP 임베디드 컴포넌트 중에 가장 많이 사용하고 있는 인터넷 익스플로러 6.0, 윈도우 미디어10 버전을 지원한다.
거기에 비디오, 마우스, 키보드 없이 스스로 동작하는 헤드리스 장치 지원과 더불어 TCP/IP 연결을 통한 원격 접속 기능을 제공해 준다.
이런 컴포넌트를 통해 한층 더 세련된 임베디드 응용 프로그램을 개발할 수 있으며, 컴포넌트의 독립성을 세분화시켰고 드라이버 또한 제공된다. 그리고 더 나아가 더 많은 임베디드 시스템이 PC와 서버와의 통합뿐 아니라 컴포넌트화된 운영체제를 요구해 한층 더 발전된 모습을 볼 수 있다.
◆인터넷에 연결된 장치로 발전
최근 웹 2.0 트렌드가 IT 전반적인 산업에 끼치는 영향은 크다. 임베디드 산업 분야에서도 예외가 아니다.
진정한 웹 2.0이란 단순히 웹 서비스 이상만 추구하는 것이 아니라 고객들에게 더 새로운 경험을 주기 위해서 웹 2.0과 연동된 장치를 필요로 한다.
즉 어떤 플랫폼이든 어떤 장치이든지 간에 고객들이 동일한 인터넷 경험을 할 수 있게끔 제공돼야 한다.
그동안 임베디드 장치들은 텍스트 기반으로 웹 경험을 하거나 전체 웹 사이트의 크기를 줄여 보았기 때문에 웹 경험이 매우 불편했다.
">[그림5] 딥 피쉬, 풀 브라우징을 지원하는 새로운 모바일 웹 브라우저
그림 5에서 보듯 최근 윈도우 라이브 랩에서 발표한 ‘딥피쉬(DeepFish)’는 PC의 웹 브라우징 경험을 그대로 할 수 있게 끔 임베디드 장치에서 제공한다.
필자가 소유한 MIT-450폰으로 다음(www.daum.net) 사이트를 접속해 보니 텍스트 파일의 손상 없이 잘 구현됐다.
이는 올 3월 20일 마이크로소프트사가 주관한 ‘윈도우 임베디드 OEM 테크니컬 세미나’에서 언급됐던 “디지털 라이프에서 향후 임베디드 장치가 인터넷 연결성을 가지는 의미가 크다”라는 내용을 여실히 증명해 주고 있다.
[그림6] 윈도우 XP 임베디드 로드맵
그림 6은 향후 윈도우 임베디드 로드맵을 나타낸 것이다.
올해는 윈도우 모바일6 과 윈도우 XP 임베디드 FP 2008 버전을 모바일/임베디드 개발자 컨퍼런스(MEDC)를 통해 발표할 것이다.
윈도우 XP 임베디드 FP 2008은 윈도우 XP 임베디드 FP 2007 버전의 다음 버전으로 .NET 프레임워크 3.0과 인터넷 익스플로러7 그리고 윈도우 미디어 플레이어11와 같은 최신 컴포넌트를 임베디드 장치에서 사용할 수 있게 제공해준다.
또 웹과 데스크톱의 동일한 경험과 더불어 문서와 미디어의 통합, 3차원 세계의 인터페이스를 지향하는 윈도우 비스타(Windows Vista) 임베디드 버전이 코드명 ‘퀸얼트(Quinault)’로 준비 중이다.
그동안 비트맵 파일은 리소스 점유율이 높아 무겁고 다이렉트X와 같은 기술을 구현하기가 어려운 기술을 텍스트 문서에서 간단히 XML(XAML)로 정의하면 벡터 그래픽 방식으로 렌더링 돼 더욱 동적이고 풍부한(Rich) 응용 프로그램을 임베디드 장치에서 구현할 수 있다.
이 같이 마이크로소프트는 임베디드 산업 분야에서 지속적으로 고객들의 요구사항인 쉽고 편리한 사용자 인터페이스와 안전한 보안 기능을 차츰 개선해 나가고 있다.
서진호 (임베디드 SW 전문가) 2007/04/23
xpembedded
Microsoft
우리 주위를 둘러보면 어렵지 않게 임베디드(Embeded) 기기를 접할 수 있다.
가령 고속철(KTX), 지하철 천정에 걸려 있는 디스플레이 모니터부터 PDA, 스마트폰 등의 모바일 기기들을 비롯해 로봇, 텔레매틱스, 공장 자동화, 군사기기, 센서 노드에 이르기까지 생활 주변에서 쉽게 접할 수 있는 디지털 제품은 모두 임베디드 기기라고 볼 수 있다.
즉 임베디드 기기를 간단하게 정의하면 ‘디지털 기기들에 컴퓨터가 내장돼 배터리를 적게 소모하는 강력한 시스템’이다.
편집자주:전세계 임베디드 산업의 현주소를 알아보고 마이크로소프트의 임베디드 플랫폼의 전략과 미래를 살펴본다. 또한 미래 임베디드 산업이 앞으로 어떻게 흘러갈지에 대해서도 논의해 보도록 하겠다.
◆윈도우 임베디드의 시작
해외 모 임베디드 커뮤니티 사이트에 접속하는 유저를 대상으로 온라인 설문조사를 실시한 결과 (*그림1 참조) 지난 2년간 가장 많이 사용한 임베디드 플랫폼은 '윈도우 임베디드 CE'인 것으로 나타났다.
임베디드 CE는 조사결과 21.2%를 차지했고 '윈도우 모바일'과 '윈도우 XP 임베디드'가 16.6%로 공동 2위를 차지했다. 이 밖에 리눅스가 13.2%로 그 뒤를 이었다.
또 ‘향후 2년간 귀사가 선택할 임베디드 플랫폼은 무엇인가’에 대한 물음에선 윈도우 임베디드 CE가 여전히 1위를 자리를 고수했고, 윈도우 XP 임베디드가 20.5%로 그 뒤를 이었다.
[그림1]윈도우 포 디바이스 닷컴 온라인 설문 조사
마이크로소프트사(MS)의 윈도우 임베디드 플랫폼에는 우리에게 잘 알려진 윈도우 임베디드 CE 와 윈도우 XP 임베디드가 있다.
윈도우 XP 임베디드란 일반 PC 형태의 임베디드 컴퓨팅으로써 x86 프로세서에서만 동작하기 때문에 실시간 기능성은 제공하지 않는다. 하지만 풍부한 PC 하드웨어 컴포넌트 및 드라이버를 제공해 안전하고 강력한 임베디드 시스템을 개발할 수 있게 해준다.
윈도우 XP 임베디드의 시작은 MS-DOS이다. 정확하게 말해서 문자 기반의 운영체제를 사용할 때 부터라고 할 수 있다. 그 당시에 모든 임베디드 운영체제는 펌웨어와 같은 텍스트 기반 형태였다(그림2 참조).
[그림2] 텍스트 명령 형태의 DOS 임베디드 시스템
그 이후 그래픽 사용자 인터페이스를 데스크톱 PC에서 윈도우 3.1이라는 이름으로 시작하게 됐는데 임베디드 분야에서 롬(ROM)에 탑재해 사용할 수 있도록 개발자들에게 처음으로 제공했다.
1995년부터는 8비트(bit)나 16비트의 임베디드 프로세서가 막을 내리고 본격적으로 i80386과 같은 32비트 프로세서를 포함하는 임베디드 시장이 형성되기 시작했다.
그리고 끊임없는 발전을 통해서 마침내 펜티엄 프로세서가 출시됐고 개발자들은 뛰어난 처리 속도와 그래픽 성능 향상으로 사람과 기계 사이에 강력한 인터페이스를 탑재한 임베디드 시스템을 개발하게 된다.
그러나 RTOS나 임베디드 커널에 익숙한 임베디드 개발자라면 윈도우 95나 윈도우 NT를 탑재한 임베디드 운영체제에 대해서 헛갈릴 수 있다.
그래서 윈도우와 호환 가능하면서 RTOS 기능과 임베디드 커널을 탑재한 임베디드 운영체제 프로젝트가 시작됐는데 이것이 바로 ‘윈도우 임베디드 CE’였다.
윈도우 임베디드 CE란 임베디드 시스템과 가전 제품에 사용할 목적으로 개발된 운영체제.
이는 개발자들에게 Win32 API와 같은 익숙한 윈도우CE API를 제공한다.
당시 임베디드 개발자들에게 윈도우 95, 윈도우 NT에서 볼 수 있었던 API 나 MFC를 지원했는데, 데스크톱PC에서 지원하던 Win32 API를 배터리 절약과 플래쉬 메모리에 맞게 쓸 수 있도록 개량한 WinCE API가 큰 호응을 얻었다.
WinCE API는 Win32 API와 같이 뛰어난 사용자 인터페이스 API를 제공하며 강력한 멀티미디어 기능을 임베디드 환경에서 구현할 수 있도록 했다.
◆윈도우 XP 임베디드 환경에서의 개발
윈도우 XP 임베디드 환경에서 개발이란 윈도우 XP 임베디드 스튜디오 안에 포함돼 있는 약 1만 2,000개의 컴포넌트를 서로 조합해 배포하면 끝난다.
그 이유는 윈도우 임베디드 CE처럼 멀티 CPU를 지원하지 않기 때문에 각 장치 속에 있는 CPU에 맞게 포팅(Porting)하는 일련의 작업이 생략돼 코어 부분을 편집할 필요가 없다.
윈도우 XP 임베디드 스튜디오라는 강력한 개발 및 배포 도구만 있다면 쉽고 편리하게 대상 디바이스에 제공할 수 있다.
그림3 – 윈도우 XP 임베디드 환경에서의 전체 개발 절차]
그림 3에서 보듯이 윈도우XP 임베디드 환경에서 모든 개발 절차는 리눅스나 윈도우 임베디드 CE와 같은 타 임베디드 운영체제 개발과 차이점을 두고 있다.
예컨대 쥬크박스와 같은 동영상 및 음악을 듣는 기기를 만든다고 가정해 보자.
우선 쥬크박스와 같은 타겟 장치의 하드웨어 및 드라이버 정보를 타겟 분석기로 정의한 다음 최종 고객이 사용할 사용자 인터페이스를 담은 응용 프로그램을 바이너리 형태로 컴포넌트 디자이너에게 제공한다.
그러면 개발자들은 컴포넌트 디자이너를 통해 윈도우 미디어와 다이렉트X 기술과 같은 필요한 컴포넌트를 추가 또는 삭제를 한다. 그리고 최종적으로 타켓 장치에 배포시킨다.
또한 응용 프로그램은 비주얼 스튜디오 2005(Visual Studio 2005)와 같은 개발 도구로 데스크톱PC에서 사용하던 Win API를 그대로 이용할 수 있다.
이는 데스크톱PC 응용 프로그램과 100% 호환 가능하므로 특별히 윈도우 XP 임베디드 환경을 위해 응용 프로그램을 개발할 필요가 없는 것이 큰 장점이다.
이런 절차는 윈도우 NT 임베디드 플랫폼부터 정착돼 지금의 윈도우 XP 임베디드 운영체제 플랫폼의 ‘조상’격이 됐다. 윈도우 NT의 데스크톱 특성을 전부 컴포넌트로 나눠 쉽게 개발할 수 있고 배포할 수 있도록 제공된 것이다.
[그림4] 윈도우 XP 임베디드 스튜디오
그림4는 윈도우 XP 임베디드 스튜디오라고 부르는 개발 배포 도구 중 대상 디자인에서 최종 단계로 빌드되고 있는 모습이다.
윈도우 XP 임베디드의 최신 버전은 .NET 프레임워크 2.0 기반의 윈도우 XP 임베디드 FP 2007 버전이다.
윈도우 XP 임베디드 스튜디오에서는 약 1만 2,000개 이상의 컴포넌트가 수록돼 있고 개발자들에게 표준 Win32 API를 제공하며, 게다가 데스크톱 운영체제와 동일한 장치 드라이버를 사용할 수 있도록 제공해 준다.
특히 윈도우 XP 임베디드 FP 2007부터는 USB 2.0 부팅을 할 수 있도록 지원해 주며, PCMCIA와 CF 카드와 같은 외부 장치와 더불어 IEEE 1394 및 제거할 수 있는 미디어 카드 (SD 카드, 플래시 카드, 소니 메모리 스틱, 멀티미디어 카드)를 모두 제공한다.
그리고 윈도우 XP 임베디드 컴포넌트 중에 가장 많이 사용하고 있는 인터넷 익스플로러 6.0, 윈도우 미디어10 버전을 지원한다.
거기에 비디오, 마우스, 키보드 없이 스스로 동작하는 헤드리스 장치 지원과 더불어 TCP/IP 연결을 통한 원격 접속 기능을 제공해 준다.
이런 컴포넌트를 통해 한층 더 세련된 임베디드 응용 프로그램을 개발할 수 있으며, 컴포넌트의 독립성을 세분화시켰고 드라이버 또한 제공된다. 그리고 더 나아가 더 많은 임베디드 시스템이 PC와 서버와의 통합뿐 아니라 컴포넌트화된 운영체제를 요구해 한층 더 발전된 모습을 볼 수 있다.
◆인터넷에 연결된 장치로 발전
최근 웹 2.0 트렌드가 IT 전반적인 산업에 끼치는 영향은 크다. 임베디드 산업 분야에서도 예외가 아니다.
진정한 웹 2.0이란 단순히 웹 서비스 이상만 추구하는 것이 아니라 고객들에게 더 새로운 경험을 주기 위해서 웹 2.0과 연동된 장치를 필요로 한다.
즉 어떤 플랫폼이든 어떤 장치이든지 간에 고객들이 동일한 인터넷 경험을 할 수 있게끔 제공돼야 한다.
그동안 임베디드 장치들은 텍스트 기반으로 웹 경험을 하거나 전체 웹 사이트의 크기를 줄여 보았기 때문에 웹 경험이 매우 불편했다.
">[그림5] 딥 피쉬, 풀 브라우징을 지원하는 새로운 모바일 웹 브라우저
그림 5에서 보듯 최근 윈도우 라이브 랩에서 발표한 ‘딥피쉬(DeepFish)’는 PC의 웹 브라우징 경험을 그대로 할 수 있게 끔 임베디드 장치에서 제공한다.
필자가 소유한 MIT-450폰으로 다음(www.daum.net) 사이트를 접속해 보니 텍스트 파일의 손상 없이 잘 구현됐다.
이는 올 3월 20일 마이크로소프트사가 주관한 ‘윈도우 임베디드 OEM 테크니컬 세미나’에서 언급됐던 “디지털 라이프에서 향후 임베디드 장치가 인터넷 연결성을 가지는 의미가 크다”라는 내용을 여실히 증명해 주고 있다.
[그림6] 윈도우 XP 임베디드 로드맵
그림 6은 향후 윈도우 임베디드 로드맵을 나타낸 것이다.
올해는 윈도우 모바일6 과 윈도우 XP 임베디드 FP 2008 버전을 모바일/임베디드 개발자 컨퍼런스(MEDC)를 통해 발표할 것이다.
윈도우 XP 임베디드 FP 2008은 윈도우 XP 임베디드 FP 2007 버전의 다음 버전으로 .NET 프레임워크 3.0과 인터넷 익스플로러7 그리고 윈도우 미디어 플레이어11와 같은 최신 컴포넌트를 임베디드 장치에서 사용할 수 있게 제공해준다.
또 웹과 데스크톱의 동일한 경험과 더불어 문서와 미디어의 통합, 3차원 세계의 인터페이스를 지향하는 윈도우 비스타(Windows Vista) 임베디드 버전이 코드명 ‘퀸얼트(Quinault)’로 준비 중이다.
그동안 비트맵 파일은 리소스 점유율이 높아 무겁고 다이렉트X와 같은 기술을 구현하기가 어려운 기술을 텍스트 문서에서 간단히 XML(XAML)로 정의하면 벡터 그래픽 방식으로 렌더링 돼 더욱 동적이고 풍부한(Rich) 응용 프로그램을 임베디드 장치에서 구현할 수 있다.
이 같이 마이크로소프트는 임베디드 산업 분야에서 지속적으로 고객들의 요구사항인 쉽고 편리한 사용자 인터페이스와 안전한 보안 기능을 차츰 개선해 나가고 있다.