최근 수정 시각 : 2024-08-22 12:46:32

Windows Embedded Compact

윈도우 CE에서 넘어옴
파일:관련 문서 아이콘.svg   관련 문서: RTOS
,
,
,
,
,

파일:Windows 로고 화이트.svg 버전 일람
{{{#!wiki style="margin:0 -10px -5px; min-height: 26px"
{{{#!folding [ 펼치기 · 접기 ]
{{{#!wiki style="margin:-6px -1px -11px"
파일:MS-DOS 아이콘.svg
DOS 커널
클라이언트 워크스테이션 서버 {{{#!wiki style="margin:0 -10px -5px; min-height: 26px"
{{{#!folding [ 임베디드/모바일 ]
{{{#!wiki style="margin:-6px -1px -11px"
SKU
임베디드 에디션
파일:Windows CE 아이콘_화이트.png CE 커널
1996 CE 1.0
1997 CE 2.x
Poket PC 2000/2002 (CE 3.0)
2002 Mobile 2003/SE (CE 4.x)
2004 Mobile 5.0/SE/6.x (CE 5.x)
2006 CE 6.0
2011 Embedded Compact 7
Embedded Compact 2013 (CE 8.0)
1999 NT 4.0 Embedded
2000 Powered
2002 XP Embedded( FLP 2006)
2005 Embedded for POS
2009 Embedded Standard/POSReady
2010/2011 Embedded Standard 7/POSReady 7( Thin PC)
2012/2013 Windows Embedded 8/Standard 8(Industry)
2013 Embedded 8.1 Industry
파일:silverlight-f9eea009c90bbdf966eb62abee29092a.png Silverlight 프레임워크
2010 Phone 7
파일:Windows 아이콘 2012_화이트.svg NT 커널
2012 Phone 8
2014 Phone 8.1
파일:Windows 아이콘 2012_화이트.svg One 코어
<rowcolor=#212529,#e0e0e0> 2015 10 IoT
2021 11 IoT
2015 10 Mobile }}}}}}}}}
1985 1.x
1987 2.x
1990 3.x
파일:Windows 95.png
9x 기반
19 95 (4.0)
1996 Nashville (4.1)
19 98( SE 1999) (4.1)
2000 Me (4.9)
파일:Windows 아이콘 1992_화이트.svg
NT 커널
1993 NT 3.1
1994 NT 3.5
1995 NT 3.51
1996 Cairo (NT 4.0)
1996 NT 4.0
파일:Windows 아이콘 2001_화이트.svg
NT 커널
2000 Neptune (NT 5.5) 1999 2000 ( NT 5.0)
2001 XP (NT 5.1)
2005 (x64) (NT 5.2)
2006 Vista (NT 6.0)
2009 7 (NT 6.1)
2012 8( RT) (NT 6.2)
2013 8.1( RT) (NT 6.3)
Server 2003( R2 2005) (NT 5.2)
2007 Home Server (NT 6.0)
Server 2008 (NT 6.0)
2009 ( R2) (NT 6.1)
Home Server 2011 (NT 6.1)
Server 2012 (NT 6.2)
2013 ( R2) (NT 6.3)
파일:Windows 아이콘 2012_화이트.svg
One 코어

(NT 10.0)
2015 10( 버전, X 2021)
2018 ( Polaris OS, Andromeda OS)
2021 11( 버전)
( Factory OS)
Server 2016( Hyper-V)
2017 ( 반기 채널)
2018 Server 2019( Hyper-V)
2021 Server 2022
2023 ( 연간 채널)
Server 2025
파일:Windows_Insider_logo.webp
개발 중
shhh...
2025? vNext 2028? Server vNext
파일:Windows 365 아이콘.svg Windows 365 파일:Windows Insider Program.png Windows Insider Program
}}}}}}}}} ||
파일:attachment/Windows Embedded Compact/wince.jpg
Windows CE 5.0 Professional[1]의 스크린샷

1. 개요2. 상세3. 역사
3.1. 버전 목록
4. 기타5. 관련 문서

1. 개요

윈도우 임베디드 컴팩트(Windows Embedded Compact) 또는 윈도우 CE(Windows CE)는 Microsoft에서 1996년부터 개발을 시작하여 2023년에 지원을 중단한 임베디드 시스템 RTOS이다. 프로그래밍 언어는 C++를 사용했다.

2. 상세

PDA 등에도 사용되며 일반 사용자에게도 많이 알려졌다.

한국에서도 Windows Mobile을 적용한 PDA 등으로 널리 알려졌다. 또한 한국 내 초창기에는 내비게이션 지도 소프트웨어인 맵피, 지니, 아이나비 맵 등이 모두 Windows CE 기반이었으며 이 맵을 사용하는, 사실상 대부분의 사제 내비게이션의 기기 등에도 탑재되었다.

예전엔 Windows CE로 불렸고 아마도 일반인들에게는 오랫동안 사용된 이 이름이 훨씬 친숙할 것이다. Microsoft는 공식적으로 무엇의 약자인지는 밝히지 않았다. 그러나 ME(Millenium Edition)이나 SE(Second Edition) 등의 네이밍으로 미루어 보아 Compact Edition 정도로 유추해 볼 수는 있다. 2011년 Windows Embedded Compact로 개명하였고 현재 저 이름으로 미는 중이다. RTOS란 Windows Embedded Compact가 응용 프로그램의 처리 요청을 정해진 시간 안에 해 주는 운영 체제를 말한다. Windows 3.x 기반이 아니냐는 소리가 나왔지만 Microsoft에서 자체적으로 개발했다. Windows 3.x를 받쳐주는 DOS 시스템부터 ARM을 비롯한 여러 시스템에 포팅되지 않았기 때문에 그런 예측 자체는 신빙성이 없었다. 대신 DOS에서 전용 커널을 사용해 Windows CE를 DOS상에서 쓸 수 있었다.

3. 역사

Windows CE 1.0과 2.0 버전은 'Handheld PC' 및 'Palm-sized PC'로 쓰고 'PDA'로 읽는 기종 위주로 사용되었다. Windows CE 2.0을 탑재한 주요 기종은 LG의 모빌리안 시리즈와 엠플러스텍(M Plus Tec.)의 제스(Zess) 시리즈가 있다.

Windows CE 3.0 이상부터 멀티미디어 기능이 비약적으로 향상되었고, 이때부터 Pocket PC 시리즈 및 스마트폰용 버전이 등장했다. Microsoft의 인증을 받아서만 'Pocket PC'라는 명칭을 쓸 수 있었으며, 액정 해상도, 하드웨어 버튼 개수 등 Microsoft에서 정한 규격대로 하드웨어를 만들어야 인증을 받을 수 있었다. 그러나 초기 버전인 Pocket PC 2000은 PC Windows의 GUI를 그대로 축소한, 발로 만든 듯한 GUI, 엄청난 메모리 누수, 내장된 포켓 오피스의 버그 등 당시 모바일 기기가 저성능임을 감안해도 사상 최악이라 할 수 있는 운영 체제를 내놓았다. Win CE, ME, NT 4.0을 합쳐서 'Windows CEMENT'로 뭉뚱그려 부르는 사람들도 있었다. 심지어 셋 다 단점이 비슷하다. 그나마 Pocket PC 2002부터는 이 증상이 완화되었다. 또한 Pocket PC의 UI 특성상 멀티태스킹은 가능하지만 작업 표시줄이 없기 때문에 하드웨어 버튼 하나를 작업 관리자용으로 매칭해서 쓸 수밖에 없었고, 이 개념은 Windows Mobile로 이어졌다.[2] PPC 2002의 주요 기종은 델의 액심 X5 시리즈(X50 시리즈 제외)가 있다.

Windows CE 4.0부터는 Palm의 멀티미디어 기능을 뛰어넘을 만한 CPU 지원과 메모리 누수를 완화하고 더 높은 호환성을 보여주게 되었다. 이 때부터 .NET 프레임워크의 Compact 버전을 내장하기 시작했기 때문에 Windows CE .NET이라는 별칭도 있었다. 이 때부터 한국 내비게이션의 대다수가 CE 4.0을 내장하기 시작했다. Pocket PC 2003의 기반이 된 운영 체제이다. Pocket PC 및 Windows Mobile은 한국 스마트폰 1세대(RW6100, M4300등), LG PM80 등에 사용되었고 Windows CE는 NEXiO S155/160(XP30), 시그마리온 3, 스마트솔루션 사의 iIBEE 등에 사용되었다.

Windows CE 4 커널까지의 가장 큰 단점은 사용자 데이터와 설치된 프로그램을 플래시 메모리가 아닌 RAM 위에 저장하는 점이다. 그 때문에 RAM에 항상 전원을 공급해야 하고, 주 배터리를 다 쓰거나 전원 어댑터 연결이 해제될 때 데이터 보존을 위해서 백업 배터리를 장착해야 한다. 백업 배터리까지 방전되어 RAM의 전원 공급이 완전히 끊어지면 하드리셋(컴퓨터로 치자면 하드디스크 초기화)이 되어 버려 사실상 공장 초기화 상태가 된다. 보통 사용된 백업 배터리는 길어야 30분 정도밖에 버티지 못했고, 배터리는 수명이 다 되어 가면서 용량이 줄어들어 백업 배터리 완충 상태에서도 5분도 채 견디지 못하기도 했다. 일부 기기들은 백업 배터리의 수명 문제인지 내장 소프트웨어가 부팅될 때 느려지는 걸 방지하려고 했는지 시스템 디렉토리(Application Data, Program Files, Windows, My Documents)에 앱 등을 설치하거나 파일을 넣고 전원을 끄면 날아가며, 심지어 리셋을 해도 날아간다. 앱은 그나마 프로그램 추가/제거에서 흔적은 남았다.[3]

2000년대 초반에는 PDA에 GPS가 내장된 케이스 형태의 모듈을 부착하여 내비게이션 용도로 많이 사용하였는데, 일반 RAM에 내비게이션 프로그램을 설치하다 보니 배터리 관리를 못해 방전되면 판매점을 방문하여 다시 깔아야 하는 번거로움이 있었기 때문에 PDA 판매점에는 항상 내비게이션 프로그램을 재설치하려는 사람들이 있었다. 이 당시만 해도 피처폰에 비해 다양한 기능을 수행하는 PDA가 휴대기기 시장을 잠식할 것이라는 예측도 있었지만 휴대폰이 스마트폰으로 발전하면서 PDA는 역사 속으로 사라지게 되었다. 다만 특수 직종에서는 아직도 PDA를 사용하긴 한다. 예컨데 집배원, 물류 등 운영 체제는 혹여 운영 체제는 안드로이드를 쓸지라도 외형과 성능 등은 과거의 PDA와 동일하다.

Windows CE 5 커널에서 환골탈태하여 주 저장소를 RAM이 아닌 NAND 플래시 메모리나 하드 디스크 드라이브에 저장하도록 변경되어 이 문제가 해결되었다. CE 커널 자체는 데스크톱용 HDD도 지원하지만 휴대용 장치에는 HDD를 탑재할 수 없어 Microdrive를 대신 사용했다. 요즈음의 안드로이드를 사용하는 스마트폰 태블릿 컴퓨터 역시 DRAM이 있지만 eMMC, UFS를 비롯한 플래시 메모리를 필수적으로 사용하고 OS가 달라서 배터리가 나가더라도 공장 초기화로 이어지는 일은 없다. CE 5까지는 16bit 하이컬러(6만 5천 색)를 지원한다.

Windows Mobile 5.0, 6.x 버전은 Windows CE 5 커널을 사용한다.[4] 의외로 Windows Mobile 6.0이 Windows Mobile 5.0보다 안정성이 떨어졌으나 Windows Mobile 6.1 이후로 안정성이 증가하였다. Windows Mobile 6에는 Windows Mobile Standard 에디션이 추가되었다. Pocket PC와 가장 큰 차이점은 터치스크린이 없고 피처폰처럼 숫자 키패드로 모든 메뉴를 탐색할 수 있다는 점이다. 한국 출시 기종은 블랙잭 하나밖에 없지만 외국에는 팬택의 Duo, 아이메이트, Moto Q 등이 있다. Windows Mobile 6.5도 커널은 CE 5이기 때문에 최대 6만 5천 컬러까지 지원한다. 삼성 옴니아 2의 경우엔 동영상 재생 시에는 트루컬러로 재생된다는 얘기가 있다. Windows Mobile 5/6 시기의 주요 기종은 LG의 PM81, HP의 단일형 PDA, 델의 액심 X50 시리즈(추가 그래픽 칩셋 포함) 등이 있고 아이나비, 아이리버 엔비(NV), PMP에도 이 버전이 사용되었다. Microsoft의 Zune HD의 운영 체제는 Windows CE 6.0을 커스텀화하여 사용했다.

2010년 3분기에 출시된 Windows Phone 7은 Windows CE 6.0과 Windows Embedded Compact 7의 일부 요소를 혼합한 커널을 사용했고, Windows Phone 8부터는 PC와 동일한 Windows NT 커널 기반으로 변경되었다. 2010년까지 공개되었던 정보들 중 대다수에는 "Windows Phone 7은 기존 Windows CE 계열의 애플리케이션과는 호환되지 않을 것"이라는 절망적인 얘기가 있었고, 결국 현실이 되었다. Windows Mobile 6.1과 출시 연기설이 돌던 Windows Phone 7 사이의 간격을 메꾸고자 Windows Mobile 6.5가 출시되었고, 6.5 내에서도 일부 마이너 업그레이드가 있었다. 결국 Windows Embedded Compact 7은 Windows Phone 7의 커널로 사용되지 못했고, Windows Phone 7보다 더 늦은 2011년 3월에 출시되었다. 이때부터 Windows Phone과 Windows CE가 확실하게 갈라졌다. 최신 버전은 Windows Embedded Compact 2013이다.

2023년 10월 10일에 Windows Embedded Compact 2013의 지원이 중단되었다. 마이크로소프트에서는 Windows 10 IoT로의 마이그레이션을 추천하고 있으며, 기존에 Windows CE로 개발된 제품을 위하여 라이선스 판매는 2028년까지 계속된다. #

많은 사람이 착각하는 것이지만 이름에도 드러나 있듯이 Windows CE의 가장 큰 시장은 PDA 스마트폰이 아니라 임베디드 시장이었다. 그러나 여기도 이제는 리눅스 계열이(소비자 계통은 안드로이드가, 정밀 기기 쪽은 리눅스 기반 RTOS가) 야금야금 갉아먹기 시작했으며, 여전히 임베디드 컴팩트의 비중은 높지만 예전만큼은 못하다. 그래도 임베디드 분야의 절대 강자들은 Micro-COS나 mbedOS, FreeRTOS 같은 전통적인 RTOS들이다. 이쪽에서는 아예 멀티스레딩이 필요없으면 운영 체제 자체를 안 쓴다.

버전에 따라서 인터넷 익스플로러가 내장되어 있지 않은 경우가 있다. Windows CE Core 버전이 그 예이다. 보통 PMP 등에선 Core 버전을 이용하기 때문에 Internet Explorer가 탑재되어 있지 않다. 단, 민트패드 같은 것들은 예외이다. 이런 장치에서는 해당 CPU/운영 체제용 PDA용 브라우저를 설치해야(넷프론트, 오페라 미니 등) 인터넷을 사용할 수 있었다. 또한 MioPocket 등 유틸을 깔아 IE를 우회적으로 설치할 수도 있었다.[5]

3.1. 버전 목록

  • CE 1.0(1996년 11월 18일)
  • CE 2.0(1997년 9월 29일)
    • Handheld PC 3.0 (CE 2.11 Core)
    • Handheld PC 3.1 (CE 2.12 Core)
  • CE 3.0(2000년 6월 15일)
    • Pocket PC 2000
    • Pocket PC 2002
    • Smartphone 2002
  • CE 4.0(2002년 1월 7일)
  • CE 5.0(2004년 7월 9일, 2014년 10월 14일 지원 중단)
  • CE 6.0(2006년 9월 15일, 2018년 4월 10일 지원 중단)
  • Windows Embedded Compact 7(CE 7.0, 2011년 3월, 2021년 4월 13일 지원 중단)
    • Windows Phone 7: Windows Phone 7은 6.0 R3을 기반으로 했지만, 여러 기능은 Windows Embedded Compact 7에서 많이 가져왔다.
  • Windows Embedded Compact 2013(CE 8.0, 2013년 6월 14일, 2023년 10월 10일 지원 중단 #)

4. 기타

자체 커널이라서 구조가 일반 Windows와 다르다. 먼저 CE 커널은 NK.EXE이며, 마이크로 커널 디자인으로 메모리 관리, 스케줄링, API 지원 등이 들어가 있다. 마이크로소프트는 개발자의 커널 포팅을 최소화하기 위해서 커널의 주요 기능들을 라이브러리로 제공하고, CPU 및 하드웨어 관련 부분은 개발자가 직접 만들어야 한다. 커널의 기능을 갖춘 Microsoft 기본 제공 라이브러리는 NK.lib이고, 개발자(OEM)가 직접 포팅한 라이브러리는 OAL(OEM Adaptation Layer, 커널과 하드웨어 사이에 들어가는 레이어).lib이다. 이 두개가 하나로 합쳐서 NK.EXE이 만들어지게 된다.

그 외에도 시스템 파일을 관리하는 Filesys.exe, 장치 및 장치 드라이버들을 관리하는 Device.exe, 서비스를 관리하는 Service.exe, GUI 및 이벤트, 메시지를 관리하는 GWES.exe, 그리고 Windows 기본 GUI 셸인 Explorer.exe이 있다. CE 부팅 과정에서는 NK.EXE > Filesys.exe > Device.exe > GWES.exe > Service.exe > Explorer.exe 순으로 실행한다.

일단은 Windows CE 5.0 Core 이상 버전부터는 \Windows 폴더에 cmd.exe가 내장되어 있고 시작 - 실행 메뉴가 있는 경우 동일한 방법으로 "cmd"를 입력하면 열 수 있다. 데스크톱용 Windows에 비하면 명령어가 많이 빠졌거나 기능이 심하게 너프되었다. 예를 들어 FOR 명령어는 아예 없고 IF 명령어는 ELSE 등이 지원되지 않거나 SET 명령어의 계산기능(/A), 추가 입력 기능(/P) 지원이 안 된다. 심지어는 GOTO 명령어 등으로 루프를 돌릴 때 구문이 약간만이라도 어긋나거나 에러가 발생하면 CPU 사용량을 미칠 듯이 100%로 올려버리며, 커널 패닉까지는 안 가지만 기기를 먹통으로 만든다. 애초에 임베디드 기기들 자체가 CPU 처리 속도가 떨어지다 보니 무한 루프를 못 견디는 듯하다. 사실 SET 계산식도 안 먹히니 루프 돌릴 일이 많이 없기도 하지만 파일 작성 등을 하고 처음으로 되돌아가는 루프 등을 구현했을 때 조심해야 한다. 이 때는 하드웨어적으로 종료 명령을 내려도 완전 먹통이라 기기 리셋 밖엔 답이 없다. Windows CE용 배치 파일 작성 시 참고할 필요가 있다.

Core 버전은 일부 dll 파일이 없어서 따로 구해서 써야 한다. cab로 패키징된 경우가 아니라면 메모리 부족오류가 뜨는데 그냥 무시하면 된다.

스마트폰의 발달로 PDA가 많이 사라지긴 했지만 Windows CE는 여전히 주변에 의외로 많이 있는데, 대표적으로 설치되어 작동하는 곳이 자동차 내비게이션 장치이다. 현대오토에버에서 제공하는 현대자동차그룹 순정 내비[6]나 지니, 맵피 뿐만 아니라 아이나비, 아틀란 등 대부분의 내비게이션이 윈도우 CE 기반으로 나왔다. 이쪽 업계는 빨라도 2010년대 중반에서야 안드로이드로 갈아타기 시작하여서, 완전히 Windows CE를 탈피하는 데에는 시간이 걸릴 전망이다.

5. 관련 문서

  • PDA
  • PMP
  • BMW iDrive: 1세대 내비게이션이 Windows CE 기반이다.
  • 드림캐스트: Windows CE를 사용할 수 있지만 본체에 운영 체제가 내장된 형식이 아니라 필요한 소프트웨어에만 라이브 CD마냥 내장되어 있다. Windows CE를 사용하는 소프트웨어는 세가 랠리 2나 츄츄로켓, 드림 패스포트 등 크로스 플랫폼 네트워크를 사용하는 경우와 개발용으로 제공되는 데스크톱 환경 등이 있다.
  • 쌍용 체어맨
  • 르노 SM6: PE, SE 등급에서 정품 V8 내비게이션을 선택할 수 있다. 문제는 대부분의 차량 제조사별 인포테인먼트 시스템과 사제 내비게이션이 안드로이드 기반 커스텀 운영 체제로 선회하는 와중에 정품 V8 내비게이션은 Windows Embedded Compact를 기반으로 하고 있다는 것이다.


[1] 모든 스탠드 얼론 Windows CE 버전 중 안정성과 호환성이 가장 높아 호평을 많이 받았다. 많은 기기에 탑재되었으며 스마트폰이 널리 퍼지기 전 많은 사제 내비게이션 등의 기기에 탑재된 적이 있다. 다만 대한민국에서는 대부분 Core 버전(일부 기능이 없음)으로 탑재되어 나왔다. 예외적으로 민트패드는 Pro 버전(Handheld GPS 호환)을 사용했다. [2] 안드로이드 스마트폰도 2014년부터는 PPC의 작업 관리자 개념에 해당되는 최근 앱 버튼을 무조건 지정하여 최근 앱 - 홈 - 뒤로가기 식의 버튼을 채택하였다. [3] 자동 백업 소프트웨어를 이용해 하드 디스크 드라이브에 백업 이미지를 뜨면 어느정도 해결할 수 있긴 하다. [4] 참조 [5] 원래는 내비게이션을 어떻게든(...) 굴리는 용도로 설치하는 물건이다. [6] 경제형 5세대, 표준형 4세대, 5세대, 5W세대 안드로이드 기반으로, ccNC, 고급형 2세대, 5세대, 6세대, ccIC 리눅스 기반으로 바뀌었다.