최근 수정 시각 : 2018-05-15 19:43:28

Windows Embedded Compact


파일:attachment/Windows Embedded Compact/wince.jpg
Windows CE 5.0 Professional[1]의 스크린샷

1. 개요2. 역사
2.1. 버전 목록
3. 기타4. 관련 문서

1. 개요

MS에서 개발한 임베디드 시스템용 OS.[2] 이후에 PDA 등에도 사용되며 일반 사용자에게도 알려지게 된다. 예전엔 Windows CE로 불렸고 아마도 일반인들에게는 오랫동안 사용된 이 이름이 훨씬 친숙할 것이다. 마이크로소프트는 공식적으로 무엇의 약자인지는 밝히지 않았다. 2011년 Windows Embedded Compact로 개명하였고, 현재 저 이름으로 미는 중이다. Windows Embedded Compact는 응용 프로그램의 처리 요청을 정해진 시간안에 해주는 RTOS 중 하나에 속한다. Windows 3.x 기반이 아니냐는 소리가 나왔었지만, 마이크로소프트에서 자체적으로 개발했다고 한다. 윈도우 3.x를 받쳐주는 DOS 시스템부터 ARM을 비롯한 여러 시스템에 포팅되지 않았기 때문에 그런 예측 자체는 신빙성이 없었다. 대신 DOS에서 전용 커널을 사용해 Windows CE를 DOS 상에서 쓸 수 있었다.

2. 역사

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

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

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

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

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

많은 사람이 착각하는 것이지만, 이름에도 드러나 있듯이 Windows CE의 가장 큰 시장은 PDA스마트폰이 아니라 임베디드 시장이었다. 그러나 여기도 이제는 안드로이드(운영체제)가 야금야금 갉아먹기 시작했다.

버전에 따라서 인터넷 익스플로러가 내장되어 있지 않은 경우가 있다. Windows CE Core 버전이 그 예이다. 보통 PMP 등에선 Core 버전을 이용하기 때문에 Internet Explorer가 탑재되어 있지 않다. 이런 장치에서 인터넷을 사용하려면 일부 칩셋은 ARM 기반이기 때문에 해당 CPU/OS용 PDA용 브라우저를 설치해서 사용은 가능하다. 대표적으로 오페라같은 브라우저가 있다.

2.1. 버전 목록

3. 기타

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

4. 관련 문서

  • PDA
  • PMP
  • 드림캐스트: Windows CE를 사용할 수 있지만, 본체에 OS가 내장된 형식이 아니라 필요한 소프트웨어에만 라이브 CD마냥 내장되어 있다. Windows CE를 사용하는 소프트웨어는 세가 랠리 2츄츄로켓, 드림 패스포트 등 크로스 플랫폼 네트워크를 사용하는 경우와 개발용으로 제공되는 데스크탑 환경 등이 있다.
  • RTOS




[1] 모든 스탠드 얼론 윈도우 CE 버전 중 안정성과 호환성이 가장 높아 호평을 많이 받았다. 윈도우 CE계의 XP라고 할 정도로 많은 기기에 탑재되었으며, 스마트폰이 널리 퍼지기 전 일부 내비게이션 등의 기기에 탑재된 적이 있다.[2] 언어는 C++[3] 소형 HDD[4] Windows Phone 7은 6.0 R3을 기반으로 했지만, 여러 기능은 Windows Embedded Compact 7에서 많이 가져왔다.