Введение

Windows Embedded Compact, ранее известная как Windows Embedded CE, Windows Powered и Windows CE, – это прекращенная операционная система, разработанная Microsoft для мобильных и встраиваемых устройств. Она входила в семейство Windows Embedded и являлась основой для различных классов устройств, включая Handheld PC, Pocket PC, Auto PC, Windows Mobile, Windows Phone 7 и другие. В отличие от Windows Embedded Standard, основанной на Windows NT, Windows Embedded Compact использует другое гибридное ядро. Microsoft предоставляет лицензии производителям оригинального оборудования (OEM), которые могут изменять и создавать собственные пользовательские интерфейсы и возможности, а Windows Embedded Compact обеспечивает необходимую для этого техническую основу. Последняя версия Windows Embedded Compact напрямую поддерживает процессоры x86 и ARM с пакетом поддержки оборудования (BSP). Архитектуры MIPS и SHx поддерживались до версии 7.0, и версия 7.0 по-прежнему работает на архитектуре MIPS II. Windows Embedded Compact 2013 является последней версией Windows CE. Основная поддержка прекращена 9 октября 2018 года, а расширенная поддержка – 10 октября 2023 года; однако продажи лицензий для OEM-производителей будут продолжаться до 2028 года.

Особенности

Windows CE оптимизирована для устройств с минимальным объемом памяти; ядро Windows CE может работать с одним мегабайтом памяти. Устройства часто конфигурируются без дискового накопителя и могут быть настроены как "закрытая" система, не допускающая расширения конечными пользователями (например, она может быть записана в ПЗУ). Windows CE соответствует определению операционной системы реального времени с детерминированной задержкой прерываний. Начиная с версии 3, система поддерживает 256 уровней приоритета и использует наследование приоритетов для решения проблемы инверсии приоритетов. Основной единицей выполнения является поток. Это упрощает интерфейс и повышает скорость выполнения. Первая версия, известная под кодовым названием "Pegasus" в процессе разработки, имела графический интерфейс в стиле Windows и ряд популярных приложений Microsoft, все они были оптимизированы для небольшого объема памяти, хранения данных и скорости работы портативных компьютеров того времени. С тех пор Windows CE превратилась в компонентно-ориентированную, встроенную операционную систему реального времени. Она больше не предназначена исключительно для карманных компьютеров. Многие платформы были созданы на основе ядра операционной системы Windows CE, включая Microsoft AutoPC, Pocket PC 2000, Pocket PC 2002, Windows Mobile 2003, Windows Mobile 2003 SE, Windows Mobile 5, Windows Mobile 6, Smartphone 2002, Smartphone 2003, Portable Media Center, Zune, Windows Phone 7 и множество промышленных устройств и встроенных систем. Windows CE даже поддерживала некоторые игры для Sega Dreamcast и была операционной системой портативной консоли Gizmondo. Отличительной особенностью Windows CE по сравнению с другими операционными системами Microsoft является то, что большая ее часть предоставляется в виде исходного кода. Сначала исходный код был предложен нескольким поставщикам, чтобы они могли адаптировать его к своему оборудованию. Затем продукты, такие как Platform Builder (интегрированная среда для создания и интеграции образов ОС Windows CE или пользовательских конструкций операционных систем на основе CE), предложили несколько компонентов в виде исходного кода широкой публике. Однако ряд основных компонентов, не требующих адаптации к конкретным аппаратным средам (за исключением семейства процессоров), по-прежнему распространяются только в двоичном виде. Windows CE 2.11 стала первой встроенной версией Windows, поддерживающей консоль и версию Windows CE.

Визуальная студия

Microsoft Visual Studio 2012, 2013 и 2015 поддерживают приложения и разработку платформы Platform Builder для Windows Embedded Compact 2013. Microsoft Visual Studio 2008 и более ранние версии поддерживают проекты для более старых выпусков Windows CE/Windows Mobile, позволяя создавать исполняемые программы и образы платформы либо в эмуляторе, либо подключаясь кабелем к реальному мобильному устройству. Для разработки программы для CE мобильное устройство не требуется. NET Compact Framework поддерживает подмножество .NET Framework с проектами на C# и Visual Basic (.NET), но не Managed C++. "Управляемые" приложения, использующие .NET Compact Framework, также требуют устройств с существенно большим объемом памяти (8 МБ или более), в то время как неуправляемые приложения могут успешно работать и на устройствах с меньшим объемом памяти. В Visual Studio 2010 инструменты разработчика Windows Phone используются в качестве расширения, что позволяет разрабатывать и тестировать приложения Windows Phone 7 непосредственно в Visual Studio.

Освободить Паскаля и Лазаря

Free Pascal представил порт для Windows CE в версии 2.2.0, предназначенный для архитектур ARM и x86. Впоследствии, заголовочные файлы Windows CE были адаптированы для использования с Lazarus – пакетом программного обеспечения для быстрой разработки приложений (RAD), основанным на Free Pascal. Приложения для Windows CE разрабатываются и пишутся в интегрированной среде разработки Lazarus (IDE) и компилируются с использованием соответствующего кросс-компилятора.

Строитель платформы

Этот инструмент программирования используется для разработки платформы (BSP + ядро), драйверов устройств (с общим исходным кодом или разработанных на заказ) и приложений. Это комплексная среда для запуска системы. С помощью Platform Builder также можно экспортировать комплект разработки программного обеспечения (SDK) для целевого микропроцессора (SuperH, x86, MIPS, ARM и др.) для использования с другим связанным набором инструментов, указанным ниже.

Другие

Встроенный Microsoft Visual C++ (eVC) – инструмент для разработки встроенных приложений для Windows CE. Его можно использовать автономно, используя SDK, экспортированный из Platform Builder, или с использованием настройки подключения Platform Manager в Platform Builder. Проект CeGcc предоставляет инструменты разработки GNU, такие как GNU C, GNU C++ и binutils, ориентированные на Windows CE. Доступны два SDK на выбор: стандартный SDK платформы Windows CE на основе MinGW и SDK на основе newlib, который может быть проще для переноса программ из систем POSIX. CodeGear Delphi Prism работает в Visual Studio, также поддерживает .NET Compact Framework и, следовательно, может использоваться для разработки мобильных приложений. Он использует компилятор Oxygene, разработанный RemObjects Software, который ориентирован на .NET, .NET Compact Framework и Mono. Его компилятор командной строки доступен бесплатно. Basic4ppc – язык программирования, похожий на Embedded Visual Basic, ориентированный на .NET Compact Framework и поддерживающий устройства Windows CE и Windows Mobile. GLBasic – очень простой в изучении и использовании диалект BASIC, который компилируется для многих платформ, включая Windows CE и Windows Mobile. Его можно расширить, написав встроенный код на C/C++. LabVIEW – графический язык программирования, поддерживающий множество платформ, включая Windows CE. MortScript – полустандартный, чрезвычайно легкий SDK автоматизации, популярный среди энтузиастов GPS. Он использует скрипты, написанные на собственном языке, синтаксис которого близок к VBScript или JScript. AutoHotkey – порт программного обеспечения с открытым исходным кодом для создания макросов и автоматизации, доступный для Windows CE. Он позволяет создавать макросы и простые графические приложения, разработанные системным аналитиком Джонатаном Максианом Тимкангом.

Отношение к Windows Mobile, Pocket PC и смартфону

Часто Windows CE, Windows Mobile и Pocket PC используются как взаимозаменяемые термины, отчасти из-за их общего происхождения. Однако эта практика не совсем корректна. Windows CE – это модульная/компонентная операционная система, служащая основой для различных классов устройств. Некоторые из этих модулей предоставляют подмножества функций других компонентов (например, разные уровни поддержки окон; DCOM против COM), другие являются независимыми (поддержка растровых или TrueType шрифтов), а третьи добавляют дополнительные функции к существующим компонентам. Можно приобрести комплект (Platform Builder), включающий все эти компоненты и инструменты для разработки собственной платформы. Приложения, такие как Excel Mobile (ранее Pocket Excel), не входят в этот комплект. Однако в качестве примеров включены более старые версии Pocket Word для Handheld PC и несколько других устаревших приложений. Windows Mobile лучше всего описывается как набор платформ, основанных на Windows CE. В настоящее время Pocket PC (теперь называемый Windows Mobile Classic), Smartphone (Windows Mobile Standard) и Pocket PC Phone Edition (Windows Mobile Professional) – это три основные платформы, объединенные под брендом Windows Mobile. Каждая платформа использует различные компоненты Windows CE, а также дополнительные функции и приложения, адаптированные для соответствующих устройств. Pocket PC и Windows Mobile – это определяемые Microsoft пользовательские платформы для общего использования с КПК, состоящие из установленного Microsoft набора минимальных профилей (Professional Edition, Premium Edition) поддерживаемого программного и аппаратного обеспечения. Требования к производству устройства Pocket PC строже, чем к созданию пользовательской платформы на основе Windows CE. Основными характеристиками Pocket PC являются сенсорный экран как основной интерфейс взаимодействия с пользователем и его компактный размер. CE 3.0 является основой для Pocket PC 2000 и Pocket PC 2002. Преемником CE 3.0 является CE.NET. Платформа Smartphone – это функционально насыщенная ОС и интерфейс для сотовых телефонов. SmartPhone предлагает бизнес-пользователям инструменты повышения производительности, такие как электронная почта, а потребителям – мультимедийные возможности. Интерфейс SmartPhone в значительной степени опирается на навигацию с помощью джойстика и ввод с помощью PhonePad. Устройства на платформе SmartPhone не оснащены сенсорным экраном. Устройства SmartPhone обычно имеют форм-фактор традиционного сотового телефона, в то время как большинство устройств Phone Edition используют форм-фактор КПК с большим дисплеем.