Windows CE
윈도 CE(Windows CE)는 소형 컴퓨터나 PDA 등에 사용되는 마이크로소프트 윈도 제품으로, 도스 계열인 윈도 3.11을 기반으로 완전히 새롭게 만든 제품이다. 인텔 X86 및 호환 제품, MIPS, ARM, 히타치 SuperH 프로세서를 지원한다.
윈도 CE는 저장 공간이 충분하지 않은, 이를테면 개인용 정보 단말기나 모바일 장치등에 최적화되어 있다. 윈도 CE 커널 자체만으로는 1 메가바이트 이하의 메모리에서도 동작이 가능하도록 설계되어 있다. 장치들은 디스크 저장 장치를 사용하지 않고 설정할 수 있으며, 사용자가 추가하지 못하도록 만들 수도 있다. 윈도 CE는 실시간 운영 체제를 표방하고 있으며 256단계의 우선순위 정도를 가지고 있다. 유닉스 계열 운영 체제와는 달리 실행 파일의 기초 단위는 스레드이다.
마이크로소프트는 "CE"에 어떠한 뜻도 없다고 밝혔다. 하지만 대부분 사람들은 "Consumer Electronics" 혹은 "Compact Edition"의 약자라고 생각한다. 마이크로소프트는 윈도 CE 디자인 목표 중 "Compact, Connectable, Compatible, Companion"을 암시한다고 하지만 절대로 특정 단어의 약자는 아니라고 밝혔다. 코드명 페가수스로 알려진 첫 번째 버전은 윈도와 비슷한 인터페이스를 채용했고, 마이크로소프트의 인기 있는 프로그램(MS Word, Excel 등)들이 이식되었다.
윈도 CE는 초기에 PDA의 운영 체제로 주로 사용되었지만 AutoPC, 스마트폰 등의 기기에도 사용되었다. 어떤 윈도 CE 버전은 세가의 드림캐스트에서 작동하고, 엑스박스 게임기에서 동작하는 버전도 있다.
많은 마이크로소프트 제품들과 달리 윈도 CE는 원시 코드 형태로 제공된다. 따라서 윈도 CE는 제조사의 설정에 맞게 디자인하거나 커스텀마이징이 가능하다. 우선 여러 하드웨어 업체들에게 소스 코드가 제공되어서 그들의 장치에 이식할 수 있도록 한다. 이를 기반으로, 윈도 CE 운영 체제 이미지 작성 및 사용자 정의 도구인 플랫폼 빌더(Platform Builder) 같은 제품이 소스 코드를 포함한 형태로 공개된다. 하지만 이 과정은 상당히 복잡하고 문서화되지 않았다는 점에서 비판을 받고 있다.
윈도 CE는 4.2 버전까지는 출시 이름 뒤에 .NET 이 붙었으나, 5.0 이후로는 윈도 임베디드 CE 로 명칭이 변경되었다. 현재 윈도 CE는 7.0까지 출시된 상황이다. 윈도 폰 7의 커널에도 사용될 7 버전에서는 CE라는 이름은 더 이상 사용되지 않고, 윈도 임베디드 콤팩트(Windows Embedded Compact)로 변경되었다.
Category
개발 관련 이슈
- Windows CE용 개발은 Visual Studio 2010부터 지원하지 않는다.
- Windows CE 5.0 까지는 프로세스 당 최대 메모리 할당량은 32MB까지, 최대 동시실행 프로세스 개수는 32개로 제한되어있다.
(프로세스 제한 참조)
Windows CE 초대 버전부터 비교적 최근 까지 존재했던 Windows CE 메모리 아키택쳐의 구조적 한계에서 기인한다.
이게 생각외로 상당히 짜증을 불러일으키는 요소인데 일단 Windows CE의 구동에 반드시 필요한 시스템 기본 프로세스만 해도 벌써 8개가 넘어가는데다가,
제조사 OEM 관련으로 프로세스가 몇 개 더 추가되다보면 아무리 못해도 반드시 실행되어야 하는 프로세스가 10개는 족히 넘어가기 때문에
실제로 동시 실행이 가능한 프로세스 개수의 여유는 20개가 조금 못 되는 수준으로 떨어지기 때문.
게다가 메모리 할당량에 있어서도 한 개의 프로세스가 할당 가능한 최대 메모리 크기는 32MB. 물론 이것도 버퍼나 시스템 공유 영역, 보호 영역등을 제외하면 실제 사용가능한 크기는 20MB 전후다.
이것때문에 256MB 이상의 RAM을 탑제한 기기나 사용 가능한 메모리가 넘쳐나는 상황에서도 몇몇 앱들이 메모리가 부족합니다라는 메시지를 내뿜으며 뻗는 경우도 간혹 볼 수도 있다.
크고 아름다운 크기의 RAM을 탑재한 기기에서도 반드시 발생할 수 밖에 없는 문제들이다보니 덕분에 풍요속의 빈곤이라고 칭하기도 한다.
Windows CE 6.0부터는 메모리 관리 구조가 완전히 새롭게 바뀌었기에 이 문제가 없다.
- Windows CE 6.0의 경우, 최대 동시 실행가능 프로세스 개수가 32,000개, 프로세스 할당 가능한 메모리 크기는 2GB이다.
- Windows CE 5.0 에서는 Silverlight를 지원하지 않는다.
- Windows Embedded CE 6.0 R3 부터 Silverlight Native C++ APIs가 지원된다.
- Windows CE 6.0 R3의 Silverlight 지원버전.
- QnA:
http://forums.silverlight.net/t/206019.aspx/1-> silverlight 4 and windows CE
Favorite site
- Wikipedia (en) WindowsCE에 대한 설명
- Windows CE 프로세스 제한에 대한 설명
-
http://social.msdn.microsoft.com/Forums/ko-KR/smartdevicesko/thread/7815c971-eda0-4043-89b0-e117dc566cf1-> WINDOWS CE 5.0 운영체제 (PDA) 에서 윈도우 모바일7 어플의 실행이 가능합니까??