Windows CE

Скриншот Windows CE for Handheld PC 3.0 (ядро — WinCE 2.11)

**Windows CE** (так же известна как **WinCE**) — это вариант операционной системы Microsoft Windows для наладонных компьютеров, смартфонов и встраиваемых систем. Сегодня Windows CE (Compact Edition / Compact Embedded) не является «урезанной» версией Windows для настольных ПК, она основана на совершенно другом ядре и является операционной системой реального времени с набором приложений, основанных на Microsoft Win32 API.

## История создания

Первая версия Microsoft Windows CE, выпущенная в ноябре 1996 года, была «урезанной» версией настольной операционной системы MS Windows 95.

При создании последующих версий группа разработчиков ОС Windows CE была в тесном взаимодействии с группой, создававшей настольную ОС Windows NT, ведь ОС Windows CE изначально проектировалась так, чтобы она была совместимой с универсальными ОС семейства Windows. Поэтому изначально ядро и компоненты ОС Windows CE были в большой степени унифицированы с ядром и компонентами настольных ОС семейства Windows NT.

Примерно с 2000 года группа разработки ОС Windows CE перестала тесно взаимодействовать с разработчиками настольных ОС Windows NT. С тех пор ОС Windows CE развивалась самостоятельно, и современные версии ОС Windows CE сильно отличаются от современных версий настольных ОС семейства Windows NT, но при этом сохраняется программная совместимость с приложениями, основанными на Microsoft Win32 API.

И до сих пор некоторые компоненты настольных систем Windows NT присутствуют в ОС Windows CE, например, такие, как: DirectX, и «урезанные» версии Windows Media Player, Internet Explorer. Специалисты также утверждают, что современная версия ОС Windows CE 6.0 до сих пор сохранила в неизменном виде примерно 20 % кода из настольной ОС Windows 2000.

## Особенности

Windows CE — это компонентная многозадачная многопоточная многоплатформенная операционная система с поддержкой реального времени. Разработчикам доступны около 600 компонентов, при использовании которых они могут создавать собственные образы операционной системы, которые включают только необходимую данному конкретному устройству функциональность.

Windows CE оптимизирована для устройств, имеющих минимальный объём памяти: ядро Windows CE может работать на 32 КБ памяти. С графическим интерфейсом (GWES) для работы Windows CE понадобится от 5 МБ. Устройства часто не имеют дисковой памяти и могут быть сконструированы как «закрытые» устройства, без возможности расширения пользователем (например, ОС может быть «зашита» в ПЗУ).

Windows CE предоставляет разработчикам приложений набор API, основанный на стандартном Win32 API и дополненный специализированным API для встраиваемых устройств. Поскольку CE поддерживает только часть Win32 API и имеет определённую специфику, связанную со встраиваемой природой операционной системы, приложения, написанные для настольных версий операционной системы Windows, могут потребовать дополнительной адаптации и модификации для запуска их на встраиваемых устройствах; и в любом случае, для запуска программ на устройстве потребуется их перекомпиляция.

Но так же, как и настольные версии Windows, Windows CE использует стандартный формат исполняемого файла — Portable Executable (PE). Это позволяет разработчикам использовать большинство стандартных утилит, работающих с форматом PE, например, Dependency Walker (проверка зависимостей) или DumpBin.

На базе Windows CE основано множество платформ, включая Handheld PC, Palm-size PC, Pocket PC, Pocket PC 2002, Pocket PC 2003, Pocket PC 2003 SE, Smartphone 2002, Smartphone 2003, Windows Mobile, Meizu OS, а также множество промышленных устройств и встроенных систем. Приставка Sega Dreamcast имела поддержку Windows CE. Самой Windows CE в изначальной поставке не было, но она могла запускаться на приставке с CD. Некоторые игры использовали данную возможность.

## Связь с Windows Mobile, Pocket PC и SmartPhone

Часто названия Windows CE, Windows Mobile, Pocket PC используют как взаимозаменяемые. Это не совсем правильно. Windows CE — это модульная операционная система, которая служит основой для устройств нескольких классов. Любой разработчик может купить инструментарий (Platform Builder), который содержит все эти компоненты и программы, позволяющие построить собственную платформу. При этом такие приложения, как Word Mobile / Pocket Word, не являются частью этого инструментария.

Windows Mobile лучше всего представлять себе как набор платформ, основанных на Windows CE. В настоящее время в этот набор входят платформы: Pocket PC, SmartPhone и Portable Media Center. Каждая платформа использует свой набор компонентов Windows CE, плюс свой набор сопутствующих особенностей и приложений.

## Предоставление исходного кода

Согласно программе лицензирования Shared source исходный код может быть предоставлен сторонним разработчикам программного обеспечения.

Как утверждает Microsoft, код ядра доступен на 100 % в рамках программы Microsoft Shared source, что облегчит процесс разработки и позволит создавать интерфейсы, уникальные в своём роде. Одним из преимуществ Microsoft называет отсутствие копилефта и необходимости предоставлять Microsoft доступ к своим изменениям.

## Конкурирующие продукты

Основные конкуренты WinCE — это VxWorks, eCos, OSE, QNX, Symbian OS, Apple iOS, различные производные Linux (например: μClinux, Google Android, Maemo и OpenMoko) и PalmOS. Некоторые производители устройств также изготавливают свою собственную систему.