В октябре 2023 года корпорация Microsoft прекратила поддержку операционной системы Windows CE. Начавшись как вспомогательный проект, ОС затем стала полностью самостоятельной, с собственном ядром вместо Windows NT. Много лет эта операционная система устанавливалась на карманные и ультрапортативные устройства, но с 2013 года новые версии уже не выпускались. Давайте вспомним, как появилась эта ОС и чем всё закончилось.

С чего всё началось

Ещё в 90-х годах прошлого века корпорация Microsoft занялась разработкой концепции ПО для портативных устройств. Проект развивался достаточно медленно, но спустя некоторое время разработчики ускорились. Windows CE, можно сказать, стала продолжением проекта Pegasus, который в 1996 году и стал Windows CE.

Сначала эта операционная система представляла собой облегчённую версию Windows 95 с ограниченными возможностями. Спустя несколько месяцев после выхода ОС появилось и несколько моделей гаджетов с ней. Разработчики планировали, что пользователям будет проще привыкнуть к форм-фактору портативного девайса с сенсорным экраном, если интерфейс будет привычным. Собственно, примерно так и получилось.

Кроме того, ОС разрабатывали с прицелом на совместимость «старших» версий операционной системы. Поскольку в портативных устройствах того времени «железо» было слабым, то и ОС создавалась такая, чтобы нормально работать с минимальными характеристиками. В целом всё получилось, для ядра ОС было достаточно 32 Кб ОЗУ, а для системы с графическим интерфейсом — от 5 Мб и выше.

В отличие от Windows 95, Windows CE чаще всего переустановить было нельзя, она была зашита в носитель информации, доступа к компонентам ОС или всей системе не было. Для того чтобы распространить эту операционную систему, Microsoft привлекла к сотрудничеству большое количество партнёров, включая такие компании, как Casio, Compaq, HP, LG Electronics, а также NEC и Philips.

Благодаря этому шагу свет увидели такие модели устройств, как HP 300LX, Philips Velo1, NEC MobilePro 400, Cassiopeia A10, Compaq C120, LG Phenom GP40M. Вероятно, какие-то из них ещё хранятся в ящиках столов читателей Хабра. Если действительно так, расскажите, какие устройства у вас есть и, возможно, даже включаются.

Выше на изображении — весьма продвинутое для своего времени устройство, модель Vadem Clio с Windows CE. Этот девайс выглядит неплохо даже на взгляд искушённого современного пользователя. У него сенсорный экран и есть стилус для ввода. Устройство представляло собой «трансформер», оно могло служить как ноутбуком, так и планшетом (хотя такое название тогда не использовалось).

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

Что потом?

Примерно с 2000 года группа разработки ОС Windows CE перестала тесно взаимодействовать с разработчиками настольных ОС Windows NT. С тех пор ОС Windows CE развивалась самостоятельно. С течением времени «карманная» операционная система стала сильно отличаться от версий Windows, которые устанавливались на ноутбуки и настольные ПК.

Третья версия Windows CE получила название Cedar. Она была выпущена в июне 2000 года. На её базе разрабатывались такие платформы, как Pocket PC 2000/2002, Handheld PC 2000 и Smartphone 2002. В этих операционных системах разработчики реализовали основной набор программ для работы вне офиса, некоторые развлекательные приложения и модули беспроводных соединений.

В 2000-х у Microsoft были версии ОС Windows на все случаи жизни — от карманных устройств до настольных ПК, промышленных и других систем. Концепцию можно назвать «конечно, у нас есть ОС для этого».

В 2003 эволюция ОС продолжилась, тогда появилась Windows Mobile. Помимо прежних функций в Windows Mobile 2003 появились L2TP/IPsec VPN, опция отправки SMS в ответ на вызов в Phone Edition, игра Jawbreaker, специальное приложение для просмотра, редактирования и пересылки картинок, а также была улучшена поддержка Bluetooth.

В 2004 вышла Windows Mobile 2003 SE с возможностью смены ориентации экрана, поддержкой разрешений 640 × 480, 240 × 240, 480 × 480 и другими возможностями.

В 2005 выпущена новая версия мобильной Windows с очень большим количеством изменений, включая поддержку .NET Compact Framework 1.0 SP3, улучшенную поддержку Bluetooth, интерфейс для работы с GPS и т. п.

В 2007 представлена обновлённая ОС, получившая название Windows Mobile 6. У неё появилось ещё больше новых функций, сама она стала намного более производительной. К слову, тогда же появился HTC Touch — первый смартфон, интерфейс которого был «заточен» под управление пальцем, а не стилусом. У автора этой статьи, кстати, был именно такой, но не в 2007, а чуть позже.

В 2008 представлено обновление мобильной операционной системы, которое получило название Windows Mobile 6.1 В нём было не так много обновлений, как в «шестёрке», но интерфейс изменился.

В 2009 году вышла Windows Mobile 6.5 с уже существенно большим количеством новых функций, чем у предыдущей версии. И тогда же появился смартфон HTC HD2, который неоднократно вспоминали на Хабре. К слову, есть один очень редкий смартфон, General Dynamics Sectéra Edge Windows CE secure PDA, работавший тоже на этой ОС. Продавался он по $4 750, его цена обусловлена как большим количеством функций, так и концентрацией на безопасности информации пользователя.

Последней версией Windows Mobile стала Windows Mobile 6.5.3, после которой началась уже история Windows Phone и смартфонов от Microsoft. Но это уже была другая операционная система и другие девайсы.

Что касается именно СЕ, то последней версией ОС стала Windows Embedded Compact 2013 (Windows CE 8.0), вышедшая 11 августа 2013 года. Основная поддержка этой версии закончилась в октябре 2018 года, расширенная поддержка — в октябре 2023 года.

Что теперь?

Корпорация Microsoft полностью прекратила поддержку продукта. В 2018 году закончилась основная, в 2023 — расширенная. С настоящего момента будет продолжаться продажа лицензий для ОС, разрешение Microsoft будет иметь силу до 2028 года. Сейчас на СЕ ещё работают некоторые специализированные устройства, но их всё меньше.

Ещё продаются специализированные системы на Windows CE 6.0, WinCE 7 и WEC 2013 (CE 8). Для них и нужно продление продаж лицензий. Но их не так много, и, как и говорилось выше, становится всё меньше.

Комментарии (45)


  1. Rezzet
    05.11.2023 09:40

    Похоже что мастдай таки наступил для отдельно взятых версий. Только не знаю радоваться или грустить.


  1. rezdm
    05.11.2023 09:40
    +1

    Ничего, на эмбеддед виндоуз потянет и XP


    1. MaFrance351
      05.11.2023 09:40
      +3

      Троллейбус "Авангард" с бортовым компьютером на базе Windows XP Embedded.
      Троллейбус "Авангард" с бортовым компьютером на базе Windows XP Embedded.
      Трамвай ЛМ-2008. В Питере их ещё много...
      Трамвай ЛМ-2008. В Питере их ещё много...


      1. truthseeker
        05.11.2023 09:40
        +2

        Зачем там Windows? В автомобильной технике, и даже в космической, в том числе на истребителях F-35 и космическом корабле Илона Маска, подобные системы отображающие навигацию, и прочие данные, уже много лет делают на Linux. Есть даже отдельный консорциум разработчиков встраиваемых Linux-решений чисто для транспорта, со своими особенностями, далёкими от рынка серверов и ПК. Почему было не взять готовое, открытое, идеально заточенное конкретно под транспорт, а вместо этого брали не совсем подходящее, да ещё и стоящее $$$?


        1. m0tral
          05.11.2023 09:40
          +5

          Какой нафиг linux, туда RTOS нужен, как как раз во многих автомобильных системах и не только.


          1. pvvv
            05.11.2023 09:40

            вы удивитесь сколько во всяких индустриальных и не только системах реалтаймовых решений от beckhoff, и на чём оно всё крутится :)


          1. Chupakabra303
            05.11.2023 09:40

            Ну есть RT патчи для ядра Linux, превращающие его в RTOS. Частенько встречаю таких мастеров EtherCAT. WinCE, кстати тоже вроде RTOS.


          1. Zuy
            05.11.2023 09:40
            +1

            Зачем там RTOS если оно никаких run time задач не решает. Некоторые автопроизводители и на Андроиде это делают. Просто разделяют сейчас задачи управления и контроля от индикации и инфортейнмента, и гоняют это на разном железе и софте.


        1. romxx
          05.11.2023 09:40

          Проще писать и отлаживать.


        1. Zhuck
          05.11.2023 09:40

          А кто бы допиливал то самое открытое и готовое? В школах поголовно виндовс был, в универах делфи. На чем могли и было знакомо на том и писали.


        1. dvim
          05.11.2023 09:40

          Разработка в разы дороже. А так как объем выпуска относительно небольшой, то это критично.

          ЧПУ - было масса на dos/winxp/....

          В космической технике совсем другие бюджеты



      1. All999
        05.11.2023 09:40

        Троллейбус на винде? Опубликуйте срочно фото внешнего вида, чтобы я в случай чего мог к нему не приближаться.


        1. Leggera
          05.11.2023 09:40
          +1

          Примерно как-то так


        1. MaFrance351
          05.11.2023 09:40
          +1

          Не беспокойтесь, к цепями управления этот комп доступа не имеет.


      1. Astrolux78
        05.11.2023 09:40

        ЛМ-2008 в настоящее время постепенно проходят капитальный ремонт с заменой оборудования на новое, включая комп. Так что ЛМ-2008 будут ходить ещё долго, но без винды :).


    1. truthseeker
      05.11.2023 09:40

      Зачем туда старьё это тянуть? Есть же решения для транспорта на базе Linux? В крайнем случае можно Android кастомный туда запихнуть. Windows XP для такого устарел, не поддерживается производителем, да и не так хорошо подходит...


      1. Format-X22
        05.11.2023 09:40

        Один раз сделали, далее внедряют. Чтобы новое сделать надо таки что-то сделать, а это деньги и ещё и специалисты нужны, которые захотят/смогут троллейбус закодить, даже на базе уже сделанных аналогов. Это как с коблом в банковской сфере, только менее трагично, но суть та же.


  1. MaFrance351
    05.11.2023 09:40
    +7

    Рано закапываете. У нас в половине супермаркетов страны до сих пор работают вот такие штуки на базе той самой легендарной:

    Symbol (он же Motorola, он же Zёbra) MK500. К слову, стоит там даже не 6.0 или 7, а .NET 5.0.
    Symbol (он же Motorola, он же Zёbra) MK500. К слову, стоит там даже не 6.0 или 7, а .NET 5.0.

    С настоящего момента будет продолжаться продажа лицензий для ОС, разрешение Microsoft будет иметь силу до 2028 года. Сейчас на СЕ ещё работают некоторые специализированные устройства, но их всё меньше.

    Лет десять-пятнадцать оно точно ещё проживёт. Windows CE сейчас - уже не сколько КПК и коммуникаторы (к слову, они-то в пользовательском сегменте окончательно "всё" уже лет пять-восемь, даже навигаторы тихо и незаметно перекочевали в приложения мобильные), а всякое околопромышленное железо: терминалы сбора данных, микрокиоски, встраиваемые системы, панели управления и тому подобные устройства. Что-то из этого потихоньку переходит на Linux/ведро (те же ТСД), а что-то, учитывая его стоимость, уверен, переживёт и все эти Windows 10 for IoT.


    1. Kenya-West
      05.11.2023 09:40

      К слову, стоит там даже не 6.0 или 7, а .NET 5.0.

      Не верю. .NET 5, вышедший максимум два года назад, не может быть там установлен.


      1. MaFrance351
        05.11.2023 09:40
        +4

        Я про ОС, а не net framework.

        Вот, собственно: https://ru.wikipedia.org/wiki/Windows_CE_5.0

        А .NET в названии ОС означало поддержку .NET Framework Compact.


  1. fire64
    05.11.2023 09:40
    +2

    У знакомых ребят на складе сканеры Касио с виндой. Вполне себе нормально работают.

    У медиков на скорых видел ещё кпк на ней


  1. xFFFF
    05.11.2023 09:40

    Ну и ладно, все когда-нибудь заканчивается. Но есть же замена - Windows IoT


  1. emusic
    05.11.2023 09:40
    +1

    Мне как-то пришлось немного программить под CE/Mobile, и сразу же привело в крайнее изумление то, что под нее нередко можно было без малейших изменений тупо пересобрать достаточно сложную программу для 9x/NT, не использующую GUI, но вот в ряде графических функций были мелкие, но противные отличия, без учета которых программы нормально не работали. Между 95, 98, ME, NT4, 2k и XP таких отличий не было никогда.

    В то же время немного общался с людьми, имевшими отношение к разработке Navitel, и они рассказывали, каких усилий им стоило добиться совместимости с разными версиями и сборками CE для целевых устройств.

    Такое впечатление, что команда CE не только "перестала тесно взаимодействовать", но и тупо забила на совместимость, и в итоге самое шикарное свойство CE - возможность непосредственного переноса программ с 9x/NT - почти сошло на нет. Многие программы не были перенесены под CE только потому, что разработчикам надоело воевать с несовместимостями.

    Чем в той команде думали, и думали ли вообще - сейчас уже не понять.


    1. MaFrance351
      05.11.2023 09:40

      Там наверняка ещё и чисто аппаратные фишки мешали просто так взять и портировать. В эпоху старых КПК частенько программа поставлялась в виде целой кучи CAB-ов для разных версий и архитектур (ARM, MIPS, SH3...). И я сомневаюсь, что они собирались без правки исходников вообще.


      1. emusic
        05.11.2023 09:40

        Аппаратные фишки мешали переносить то, что и на уровне Win32 было явно аппаратно-зависимым. А функции работы с toolbar'ами, некоторыми типами элементов GUI и т.п., таких зависимостей по определению иметь не могут - даже если внутри они как-то оптимизированы под аппаратуру, на уровне Win32 это не должно быть видно.

        То, что для разных архитектур идут разные исполняемые модули, вполне логично, к этому вопросов нет. А вот если без явной нужды поставляются "сборка для версии x1.y1", "сборка для версии "x2.y2", то чаще всего потому, что разработчики - не программисты, а составители кода. :)

        Такие мыслят понятиями только языка разработки, [почти] не представляя, как это работает под ОС и на железе. Компиляция и сборка программы им представляется этакой магией, которая на входе берет текст, а на выходе выдает бинарник. У таких бинарники часто набиты всяким мусором, идут с неоптимизированным кодом, со встроенной отладочной информацией и т.п.

        Даже многие драйверописатели, которым вроде как по уставу положено хорошо разбираться в устройстве и работе ОС, тупо делают сборки "под XP", "под Win7", "под Win8", "под Win10", хотя используется самая минимальная функциональность от Win2k.

        Несколько своих программ, изначально сделанных под Win9x/2k/XP, я интереса ради пересобирал под CE - большинство и собиралось, и запускалось без малейших переделок, лишь бы в системе были нужные DLL (там требовался самый минимум).


        1. vladkorotnev
          05.11.2023 09:40
          +2

          Как противовес вашему примеру спешу привести SunVox за авторством Александра Золотова, у которого бинарник, собранный в 2023 году, вполне себе запустился и работал на словаре/HPC с сабжевой операционкой из начала 2010х. Впрочем, одну и ту же кодовую базу он использует для всего спектра, от Win98 (+KernelEX) до iPhone/iPad :-)

          Мама, мама, купи мне Nintendo DS! — Нет, сынок, у нас уже есть Nintendo DS дома
          Мама, мама, купи мне Nintendo DS! — Нет, сынок, у нас уже есть Nintendo DS дома


          1. emusic
            05.11.2023 09:40

            Да, это практически высший пилотаж. Уважаю!


    1. zartarn
      05.11.2023 09:40

      WinCE была достаточно разная, Да. Была даже версия под Dreamcast


      1. emusic
        05.11.2023 09:40
        +3

        Андроиды еще более разные, но это не мешает запускать на них одни и те же программы без малейшей переделки. С поправкой на среду исполнения (отсутствие в CE исполняющей VM), ничто не мешало сделать CE полностью совместимой по Win32 с настольными системами.

        Самое ведь досадное, что те несовместимости, с которыми я сталкивался, были мелкими и совершенно дурацкими, ликвидировать их не представляло ни малейшей (по сравнению с разработкой и поддержкой всей системы) сложности. Но именно из-за них многие разработчики забивали на CE в пользу уже нарождавшегося андроида.


        1. dvim
          05.11.2023 09:40

          Но это дается существенной просадкой по производительности, виртуализацией.
          То железо, на чем работало СЕ андроид в принципе не потянет

          "Забивали на CE " - потому что всем было понятно, что нужен интерфейс под пальцы.
          А СЕ было переделать, МС попытался запустить Winphone ( под который было очень приятно программировать ) но он не взлетел...


          1. emusic
            05.11.2023 09:40

            Какие, по-Вашему, серьезные и сложные переделки требовались в CE "под пальцы"?


    1. dvim
      05.11.2023 09:40

      Там большая разница между CE и мобайлом.

      Первый - почти обычный FW, второй сильно обрезан.
      У нас еще осталась одна системе на этой ОС, причина - живучесть оборудования.


      1. emusic
        05.11.2023 09:40

        Когда я баловался с WM 2003 SE на LOOX 720, она не показалась мне обрезанной. Чего именно там не хватало?


  1. vvbob
    05.11.2023 09:40
    +2

    Помню был КПК с винмобайл, уже тогда было заметно что Майкрософт тупо забил на развитие операционки, видимо рассуждая в духе - пипл и так схавает. Это было время как раз перед началом экспансии айфона и андроида, МС почивал на лаврах и явно не прислушивался к тому, что хотели пользователи. Тогда была масса доработок для их операционки, которые добавляли поддержку пальцеориентированности, всякие более удобные лаунчеры для программ (то что было - это какое-то издевательство над пользователем - тебе надо было протыкать стилусом на маленьком экране крохотное меню из минимум трех уровней, что-бы запустить то что нужно.. При том что у операционки были и достоинства, все вполне шустро работало даже на довольно дохлом железе, причем глюки и вылеты бывали нечасто.


    1. emusic
      05.11.2023 09:40
      +1

      Да ладно бы оно работало хотя бы со стилусом. Но ведь софта было катастрофическим мало, а разработчики особо не торопились его делать/переносить, поскольку позиция MS в отношении CE была откровенно невнятной.


      1. vvbob
        05.11.2023 09:40
        +2

        Ну, тут не знаю, я тогда немало на 4pda зависал, очень все это было интересно. Софта вроде хватало на все нужные мне сценарии использования КПК. Вот то что было очень заметно - ось в виде "из коробки" была бы удобна разве что очень узкой прослойке корпоративных пользователей, типа менеджеров средней руки, проблемами массового пользователя явно никто не заморачивался. Что-бы было более-менее удобно, приходилось допиливать все напильником.

        Поэтому, видимо, айфон с андроидом так круто и стартовали, при всех недостатках их ранних версий, там уже вот прямо из коробки было довольно удобно.


  1. masyaman
    05.11.2023 09:40

    В целом всё получилось, для ядра ОС было достаточно 32 Кб ОЗУ, а для системы с графическим интерфейсом — от 5 Мб и выше.

    Вот прям упомянутый в статье HP 300LX имел 2мб ОЗУ. И был, как ни странно, с графическим интерфейсом :)

    Но 2мб было минимум только для WinCE 1. Довольно быстро рынок отказался от таких моделей в пользу большего количества ОЗУ.

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

    Имею HP 320LX. ОС зашита в ПЗУ на отдельной платке, есть WinCE 1.0 и WinCE 2.0. На более поздних устройствах была флеш память и прошивку можно было менять, но она должна была быть собрана под конкретный девайс.


    1. vladkorotnev
      05.11.2023 09:40

      есть WinCE 1.0 и WinCE 2.0

      В смысле, есть какой-то способ переключения, или нужно ПЗУ переставлять?

      А то тоже есть 320LX, но почти полное отсутствие софта под 1.0 немного напрягает.


      1. masyaman
        05.11.2023 09:40

        Нужно менять плату с ПЗУ. Это маленькая платка снизу устройства, по размеру похожа на Compact Flash, но не она. Заменить ОС без новой платки скорее всего не выйдет.

        В своё время можно было купить апгрейд, а более новые девайсы были уже с WinCE 2.0. Если захотите рискнуть, то можно поискать нерабочее устройство, если я правильно понял, то на тех, что с WinCE 2.0 из коробки не было жёлтой наклейки на клавиатуре как демо режим запустить. Но это, конечно, ничего не гарантирует.

        Но, КМК, на 2.0 не намного больше софта, чем на 1.0. Поиграться и в коллекцию - прикольно, реально как-то использовать - не уверен.


        1. MaFrance351
          05.11.2023 09:40

          На некоторых КПК (на моём 620LX, например) даже был специальный хвостик, чтобы вытащить этот модуль без полной разборки.

          А в совсем поздних (в той же jornada) он упрятан глубоко внутрь.


  1. hphphp
    05.11.2023 09:40
    +1

    Портативные навигаторы поголовно работали на WIN CE, дешево и сердито. Только массовый приход смартфонов выбил эту нишу с рынка. А так отличная операционка, но и смысла поддерживать фактически мертвый для продажи продукт нет.


  1. stalinets
    05.11.2023 09:40

    А что насчёт Windows RT? Она родственна мобайлам и phone? А что сейчас с виндой на arm? А то вроде и дешёвые ноутбуки выходят, и сервера на ARM развиваются, а с осью от майкрософт как-то невнятно. В случае x86 можно зайти в биос, загрузиться с загрузочного диска и (пере)установить всё что надо, а как дела с этим у ARM? Я что-то не видел ни в продаже, ни на торрентах "windows for ARM".


    1. MaFrance351
      05.11.2023 09:40
      +1

      Windows RT - неудачное поделие для дешёвых планшетов. С героем статьи у неё не так много общего. Неудачной эта ОС была из-за несовместимости с нормальными приложениями и абсолютной нехваткой собственных, которые никто почти не писал.

      Для загрузки там был UEFI с неотключаемым Secure Boot. Насколько помню, была какая-то возможность обойти это и установить линукс, но позже выкатили обновление, которое её прикрывало.



  1. orcy
    05.11.2023 09:40

    До сих пор поддерживаю версию продукта для WinCE. Тормозит конечно в кодовой базе уровень стандарта C++ который можно использовать, но в целом впечатления от ОСи достаточно нейтральные. Разработка по моему удобнее чем в свое время была на Symbian (тут я правда мало знаком).

    Microsoft как-то подзабила на нишу enterprise устройств (QR сканеры, терминалы, пульты, итд) делают с Android или Linux - исходники открыты и не нужна отдельно покупка или отчисления microsoft. Видимо продажи угасали, так что решили там больше ничего ловить на этом направлении.

    На базе WinCE строились сборки OC для телефонов (все эти Pocket PC, Windows Mobile 6.5 итд). Что с этим направлением случилось мы прекрасно знаем.