Windows Embedded Compact , [12] ранее 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 For Embedded Systems , Windows Embedded Industry и Windows IoT , которые основаны на Windows NT , Windows Embedded Compact использует другое гибридное ядро . [13] Microsoft лицензирует его производителям оригинального оборудования (OEM), которые могут изменять и создавать свои собственные пользовательские интерфейсы и возможности, а Windows Embedded Compact предоставляет техническую основу для этого. Окончательная версия Windows Embedded Compact поддерживает процессоры x86 и ARM с пакетом поддержки платы (BSP) напрямую. [14] Архитектуры MIPS и SHx поддерживались до версии 7.0, а версия 7.0 по-прежнему работает на архитектуре MIPS II .
Windows Embedded Compact 2013 — финальная версия Windows CE. Основная поддержка длилась до 9 октября 2018 года, а расширенная поддержка закончилась 10 октября 2023 года; однако продажа лицензий OEM-производителям будет продолжаться до 2028 года. [15] [4] [16] [17]
Windows CE оптимизирована для устройств с минимальным объемом памяти; ядро Windows CE может работать с одним мегабайтом памяти . [ 18 ] Устройства часто настраиваются без дискового хранилища и могут быть настроены как «закрытая» система, которая не допускает расширения для конечного пользователя (например, она может быть записана в ПЗУ ). Windows CE соответствует определению операционной системы реального времени с детерминированной задержкой прерывания. Начиная с версии 3 и далее, система поддерживает 256 уровней приоритета [19] и использует наследование приоритетов для работы с инверсией приоритетов . Основной единицей выполнения является поток . Это помогает упростить интерфейс и сократить время выполнения.
Первая версия, известная во время разработки под кодовым названием «Pegasus», имела графический интерфейс в стиле Windows и ряд популярных приложений Microsoft, все урезанные для меньшего объема памяти, хранилища и скорости карманных компьютеров того времени. С тех пор Windows CE превратилась в компонентную, встроенную операционную систему реального времени. Она больше не ориентирована исключительно на карманные компьютеры. [20] Многие платформы были основаны на базовой операционной системе Windows CE, включая AutoPC от Microsoft , 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, поддерживающей консоль и версию cmd.exe для Windows CE . [21]
Windows Embedded Compact ранее была известна как Windows CE. По данным Microsoft, «CE» не является явным сокращением от чего-либо, хотя оно подразумевает ряд понятий, которые имели в виду разработчики Windows, такие как «компактный», «подключаемый», «совместимый», «компаньон» и «эффективный». [22] [23] Название менялось один раз в 2006 году с выпуском Windows Embedded CE 6.0 , и еще раз в 2011 году с выпуском Windows Embedded Compact 7 .
Windows CE была первоначально анонсирована Microsoft на выставке Computer Dealers' Exhibition (COMDEX) в 1996 году и была продемонстрирована на сцене Биллом Гейтсом и Джоном Макгиллом. Microsoft тестировала Pegasus в начале 1995 года и выпустила строгую референсную платформу для нескольких партнеров по оборудованию. Устройства должны были иметь следующие минимальные характеристики оборудования:
Устройства того времени в основном имели дисплеи 480×240 пикселей, за исключением Hewlett-Packard «Palmtop PC», у которого был дисплей 640×240. Каждое окно занимало весь дисплей. Навигация осуществлялась нажатием или двойным нажатием на элемент. Контекстное меню также было доступно пользователю, нажимающему клавишу ALT и нажимающему на экран. Windows CE 1.0 не включала каскадное меню «Пуск», хотя Windows 95 и Windows NT 4.0 включали. Microsoft выпустила Windows CE 1.0 Power Toys, которая включала значок каскадного меню, появлявшийся в системном трее. Также в комплекте было несколько других утилит, наиболее заметными из которых были звуковой апплет для системного трея, позволяющий пользователю быстро отключать или включать звук на своем устройстве или регулировать громкость, и «карманная» версия Paint.
Выпуск Windows CE 2.0 был хорошо принят. Microsoft извлекла уроки из отзывов потребителей о Windows CE 1.0 и внесла множество улучшений в операционную систему. Меню «Пуск» представляло собой каскадное меню, идентичное тем, что были в Windows 95 и Windows NT 4.0 . Также поддерживались цветные экраны, и производители поспешили выпустить первый цветной H/PC . Первым на рынок вышла Hewlett Packard с HP 620LX . Windows CE 2.0 также поддерживала более широкий спектр архитектур ЦП. Программы также можно было устанавливать непосредственно в ОС, дважды щелкнув по CAB-файлам. Из-за характера ПЗУ, содержащих операционную систему, пользователи не могли прошивать свои устройства новой операционной системой. Вместо этого производители выпускали обновления ПЗУ, которые пользователи должны были физически устанавливать на свои устройства после удаления предыдущей версии. Обычно это стирало данные на устройстве и предоставляло пользователю мастер настройки при первой загрузке.
В ноябре 1999 года сообщалось, что Microsoft планирует переименовать Windows CE в Windows Powered . [24] Название появилось только в качестве бренда в Handheld PC 2000 и сборке Windows 2000 Advanced Server для сетевых устройств хранения данных (которая не имеет никакого отношения к Windows CE). Различные продукты Windows CE 3.0, анонсированные на CES 2001, продавались под общим названием «Windows Powered». [25]
Microsoft Visual Studio 2012, 2013 и 2015 поддерживают разработку приложений и Platform Builder для Windows Embedded Compact 2013. [26]
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) и компилируются с помощью соответствующего кросс-компилятора . [27]
Этот инструмент программирования используется для построения платформы ( BSP + Kernel ), драйверов устройств (общий исходный код или индивидуальный), а также приложений. Это универсальная среда для запуска и запуска системы. Можно также использовать 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; [28] Доступны 2 SDK на выбор — стандартный SDK платформы Windows CE на основе MinGW и SDK на основе newlib , который может быть проще для переноса программ из систем POSIX. [29]
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. Он позволяет создавать макросы и простые приложения с графическим интерфейсом, разработанные системным аналитиком Джонатаном Максианом Тимкангом. [30]
Часто Windows CE, Windows Mobile и Pocket PC используются взаимозаменяемо, отчасти из-за их общего происхождения. Такая практика не совсем точна. Windows CE — это модульная/компонентная операционная система, которая служит основой для нескольких классов устройств. Некоторые из этих модулей предоставляют подмножества функций других компонентов (например, различные уровни поддержки окон; DCOM против COM ), другие являются отдельными ( поддержка растровых изображений или шрифтов TrueType ), а третьи добавляют дополнительные функции к другому компоненту. Можно купить комплект (Platform Builder), который содержит все эти компоненты и инструменты для разработки пользовательской платформы. Такие приложения, как Excel Mobile (ранее Pocket Excel), не являются частью этого комплекта. Однако старая версия Pocket Word для карманных ПК и несколько других старых приложений включены в качестве примеров.
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. [31] «PocketPC [является] отдельным слоем кода поверх ядра ОС Windows CE… Pocket PC основан на Windows CE, но это другое предложение». А лицензиатам Pocket PC запрещено изменять часть WinCE. [32]
Платформа Smartphone — это многофункциональная ОС и интерфейс для сотовых телефонов. SmartPhone предлагает производительные функции для бизнес-пользователей, такие как электронная почта, и мультимедийные возможности для потребителей. Интерфейс SmartPhone в значительной степени опирается на навигацию джойстиком и ввод PhonePad. Устройства под управлением SmartPhone не включают сенсорный интерфейс. Устройства SmartPhone в целом напоминают другие форм-факторы сотовых телефонов, тогда как большинство устройств Phone Edition используют форм-фактор КПК с большим дисплеем.