Как работает windows embedded

Встраиваемые системы / Обзор Windows XP Embedded

Хочу немного рассказать о Windows XP Embedded (XPe), т.к. на Хабре не нашлось статей по теме.

Что же это вообще такое?

Windows XP Embedded — специальная версия Windows XP Professional, предназначенная для применения в тонких клиентах, банкоматах, платёжных терминалах, игровых автоматах и тому подобном.

Под катом — общий обзор системы, описание инструментов разработчика и цикла разработки.

Экологическая ниша системы

Действительно, зачем было создавать очередной велосипед, если для встраиваемых систем есть Windows CE, а для смартфонов — Windows Mobile?

Возможные сценарии применения:

  • Целевое устройство должно интегрироваться в существующую инфраструктуру Windows (работа в домене, поддержка групповых политик и т.п.).
  • У вас уже есть приложение для Windows XP (да ещё и написанное под .NET), портирование которого под, к примеру, Win CE нерентабельно.
  • На целевом устройстве требуется поддержка мультимедийных технологий (полноценные версии DirectX, Internet Explorer, Windows Media Player).
  • У вас уже есть аппаратная плаформа (например, промышленный компьютер x86), драйвера для компонентов которой есть только для «большой» Windows.
  • Вам нужна загрузка ОС с компакт-дика\USB-flash\CompactFlash или с помощью PXE, прозрачное блокирование записи (см. ниже EWF, FBWF), принудительная загрузка ОС из hibernate (см. ниже HORM), тиражирование образа ОС (по сути — Windows XP OPK, но более автоматизированный), собственный Shell.
  • Целевому устройства не хватает изюминки.

Очевидно, что этот список не является полным, однако основные моменты в нём присутствуют.

Цикл разработки

В общем виде выглядит так: создание файла с описанием устройств целевой платформы (Target Analyzer) — сканирование БД компонентов на предмет наличия подходящих драйверов (Component Designer, Target Designer) — [опционально] импорт недостающих драйверов в БД компонентов (Component Designer) — создание проекта, разрешение зависимостей (Target Designer) — создание мастер-образа, тиражирование | установка образа на целевую платформу.

А теперь — что же такое все эти дизайнеры и анализаторы:

Общая теория

. Windows XP Embedded — это встраиваемая компонентная операционная система на базе Windows XP Professional Edition…

Что значит — компонентная? Инструментарий разработки образов (fingerprint) ОС XPe представляет собой базу компонентов и IDE для работы с этой базой.

База компонентов состоит из файла БД, содержащий описание компонентов (название, зависимости, настройки реестра и пр.) и репозиторий, содержащий файлы компонентов. Поддерживаются СУБД MSDE и Microsoft SQL Server 2005 (в том числе и Express Edition), Microsoft SQL Server 2008 не поддерживается (актуально для Windows XP Embedded SP3, насчёт Windows XP Embedded Standard сказать не могу).

Компоненты — набор примитивов, каждый из которых может содержать:

  • Файлы.
  • Настройки реестра.
  • Список зависимостей от других или список конфликтующих компонентов.
  • Скрипты на VB для настройки параметров компонента (используются, в основном, в системных компонентах, т.к. документацию по написанию скриптов Microsoft держит в секрете, хотя, вполне возможно, что я её просто не там искал).
  • «Действия» — произвольные команды (запуск программ, скриптов) выполняемые во время установки компонента.
  • Настройки служб, регистрация DLL и т.д. и т.п.

Если не вдаваться в подробности, то довольно похоже на пакеты в Linux (deb, rpm).

Инструментарий
Target Analyzer

Программа, предназначение которой — определить оборудование аппаратной платформы (видеокарту, звуковую карту, процессор, накопитель и т.д.). На выходе — xml-файл (с расширением pmq), содержащий описание каждого из найденных устройств (основные характеристики — название устройства, Vendor ID, Device ID), который будет использован как каркас для построения образа ОС.

Читайте также:  Удаление edge chromium windows 10

Существует в двух версиях:

  • TA.exe (Target Analyzer) — программа, работающая под управлением MS-DOS (и, вероятно, FreeDOS, не проверял). Опрашивает BIOS (поправьте меня, если я не прав) на предмет подключённых устройств. Известные проблемы — не всегда может определить всё оборудование, плохо определяет накопители.
  • TAP.exe (Target Analyzer Probe) — программа, работающая под управлением Windows (PE, Pro). Для определения устройств сканирует реестр. Справляется заметно лучше TA.

После того, как список устройств получен, нужно сравнить его с содержащимися в БД XPe драйверами и добавить недостающие. Всё это можно сделать с помощью Component Designer:

Component Designer

Component Designer — средство для создания собственных компонентов, в том числе драйверов.


Несколько компонентов в Component Designer

После импорта, устройства, драйвера для которых есть в базе, будут отображены в качестве компонентов, каждый со списком зависимостей (системных компонентов), что позволяет создать базовый образ ОС (ядро+минимальный набор необходимых файлов) автоматическим разрешением зависимостей при конструировании образа в Target Designer.

Если же, устройства в БД компонентов не обнаружено — Component Designer умеет парсить inf-файлы, создавая из них компоненты. Для этого зачастую приходится потрошить инсталлятор драйвера для Windows XP от производителя. Однако, это далеко не всегда срабатывает, например, драйвера интеловской графики, по-видимому содержали не все действия для установки драйвера в inf-файле, соответственно — XPe использовал видеодрайвер по-умолчанию, который не поддерживает разрешение выше 640×480, что очень меня огорчало. Справедливости ради, стоит сказать, что Intel выпустили бесплатную утилиту IEGD, позволяющую генерировать драйвера для встраиваемых систем.

После того, как Component Designer закончил разбор inf, нужно внести свежесозданный компонент в БД компонентов. Для этого используем Component Database Manager:

Component Database Manager

Component Database Manager — средство для управления содержимым базы компонентов. Позволяет импортировать и удалять компоненты.


База компонентов

Когда мы убедимся в том, что драйвера всех устройств целевой платформы содержатся в БД XPe, можно создавать проект образа ОС. Для этого используется Target Designer:

Target Designer

Target Designer — IDE для проектирования образа ОС. Добавляем и удаляем компоненты, можно отредактировать настройки компонента «на лету», без внесения изменений в общую базу, есть возможность автоматического разрешения зависимостей.


Открытый проект в Target Designer

Как уже было сказано выше, построение образа начинается со списка компонентов-описаний устройств. Итак, список загружен, нажимаем кнопку «Разрешение зависимостей». Target Designer сканирует зависимости и выводит список требуемых компонентов (в настройках можно поставить крыжечку «Разрешать зависимости автоматически», это позволяет не добавлять компоненты из зависимостей руками). После того, как все зависимости от оборудования будут разрешены, начинается доводка образа — добавление некритичных компонентов (Internet Explorer, Windows Media Player, .NET Framework и т.п.)

Когда все необходимые компоненты добавлены, запускаем сборку — в заданной директории будет создан установочный образ (обычная директория с файлами и вложенными директориями) — полуфабрикат. После создания этого образа, его нужно скопировать на активный раздел накопителя целевого устройства, после чего будет произведено развёртывание образа, и только после этого установка завершится.

Примечание: в отличие от Windows XP, XPe не содержит встроенных инструментов для разметки диска во время установки. Диск должен быть создан, помечен активным и отформатирован внешними утилитами (мне пришлось использовать LiveCD с Linux, как бы смешно это ни звучало). В установочный комплект входит диск Windows PE, но я так и не выяснил, можно ли изменять его и использовать для развёртывания XPe (лицензии Microsoft это тема для отдельного поста).

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

P.S.: Нет, это не попытка шантажа, это проба пера. Если эта тема кого-то интересует, я с удовольствием продолжу. Также, буду рад любой конструктивной критике.

Читайте также:  Ошибка при активации windows 10 через kmsauto

Полезные ссылки

Данная статья не подлежит комментированию, поскольку её автор ещё не является полноправным участником сообщества. Вы сможете связаться с автором только после того, как он получит приглашение от кого-либо из участников сообщества. До этого момента его username будет скрыт псевдонимом.

Windows Embedded

Windows Embedded CE 6.0

Microsoft Windows Embedded — семейство встраиваемых операционных систем Microsoft Windows для применения в специализированных устройствах. Существует несколько категорий продуктов для создания широкого спектра устройств, начиная от простых контроллеров реального времени и заканчивая POS-системами, такими как киоск самообслуживания или кассовый аппарат и промышленными системами. Windows Embedded доступна через специализированных дистрибьюторов Microsoft и должна поставляться конечному потребителю только вместе с устройством. Отличается более выгодной ценой по сравнению с настольными версиями, возможностями блокировки образа (Lockdown), продленным сроком доступности и поддержки (до 15-ти лет).

Содержание

Семейство Windows Embedded [ править | править код ]

Windows Embedded Compact [ править | править код ]

Windows Embedded Compact (также известная как Windows Embedded CE или Windows CE) — 32-битная операционная система реального времени для создания различных устройств с низкими требованиями к аппаратной платформе. Compact поставляется в компонентной форме вместе со средствами разработки Platform Builder и предоставляет ОЕМ производителям возможность адаптировать систему под функциональные требования встраиваемой системы. Windows Embedded Compact поддерживает 4 типа процессоров: x86, ARM, MIPS и SuperH.

Windows Embedded Standard [ править | править код ]

Windows Embedded Standard (текущая версия — Windows Embedded Standard 8 на базе Windows 8) — компонентная версия Windows Professional, применяемая для разработки различных специализированных устройств, таких как POS-системы, информационные и платежные киоски, промышленные системы, системы безопасности и видеонаблюдения и прочих устройств, где критичным являются быстродействие, защищенность использования, отказоустойчивость при совместимости с приложениями и драйверами, созданными для Windows. Для сборки образа ОС требуется наличие средства разработки, которое для Windows Embedded Standard 8 является бесплатным.

Windows Embedded Enterprise [ править | править код ]

Windows Embedded Enterprise — семейство классических операционных систем Майкрософт, лицензируемых для устройств узкого назначения. В состав Windows Embedded Enterprise входят: Windows 8.1 Professional for Embedded Systems, Windows XP Professional for Embedded Systems, Windows Vista for Embedded Systems и Windows 7 Professional for Embedded Systems. Существует в русской версии.

Windows Embedded Industry [ править | править код ]

Windows Embedded Industry — семейство операционных систем Microsoft для промышленного применения в индустриях: здравоохранение, розничная торговля, Digital Signage, промышленная автоматизация и других. Последняя версия основана на Windows 8.1 Pro, обладает всеми возможностями по ограничению использования устройства для узкоспециализированных задач, совместима с приложениями и драйверами, написанными для Windows 8. Не требует специальных инструментов для создания образа.

Windows Embedded POSReady [ править | править код ]

Windows Embedded POSReady — версия Windows Embedded for Point of Service, специализированной операционной системы для применения в POS-устройствах и точках обслуживания. POSReady основан на Windows XP Embedded и дополнительно включает в себя POS for .Net 1.12.

Windows Embedded Handheld [ править | править код ]

В июне 2010 года Microsoft анонсировала операционную систему Windows Embedded Handheld 6.5, основанную на платформе Windows Mobile 6.5 и предназначенную для встраиваемых устройств и портативной электроники корпоративного сегмента [1] . В январе 2011 года Windows Embedded Handheld 6.5 была выпущена официально [2] .

Windows 10 IoT Enterprise [ править | править код ]

Windows 10 IoT Enterprise — основана на Windows 10 Enterprise. Основное отличие — план обновлений LTSB (Long Term Servicing Branch), позволяющий полностью отказаться от обновлений в автоматическом режиме (в связи с этим, в этой версии отсутствует браузер Edge и магазин приложений) и возможности по встраиванию. «IoT» обозначает сокращение от Internet of Things (Интернет Вещей). Существует в подредакциях «Универсальная» (Enterprise), «Для розничной торговли и тонких клиентов» (for Retail and Thin Clients), «Для планшетных ПК» (for Tablet PC).

Версии Windows Embedded: полезные рекомендации для начала работы

В категории современных операционных систем Microsoft, каковыми являются Windows 7 или 8, Windows Embedded существует в различных версиях. Есть даже серверные версии Windows Embedded. Существует также версия SQL Server, работающая под Windows Embedded. Подробное описание каждой из версий я считаю напрасной тратой времени, поскольку всю эту информацию можно найти на сайте Microsoft Windows Embedded (http://www.microsoft.com/windowsembedded/en-us/windows-embedded.aspx). Однако названия встраиваемых операционных систем перечислить следует

Читайте также:  Windows 10 home как удалить пароль

В статье «Работа. NET-приложений под Windows Embedded» речь шла о том, в каких случаях разработчикам следует использовать операционную систему Windows Embedded. Напомню, что обычно Windows Embedded используется в следующих двух сценариях:

  1. На компьютере работает только одно приложение.
  2. Требуется создать много систем с идентичной конфигурацией. В этом случае применение образа встраиваемой системы позволяет экономить время, затрачиваемое на настройку параметров Windows.

Еще раз хочу подчеркнуть важные преимущества Windows Embedded:

  • Исключение неверного понимания. Конфигурацию Windows 7 Embedded можно настроить так, чтобы она имела такой же внешний облик и практически те же функции, что и стандартная версия Windows 7.
  • Экономия затрат на лицензию. Стоимость Windows Embedded значительно ниже стоимости стандартных версий.
  • Компонентная форма поставки. Windows Embedded позволяет устанавливать только те компоненты Windows, которые нужны для выполнения конкретной задачи, для чего можно выбрать готовый шаблон ОС. Можно также скомпоновать собственный шаблон.
  • Высокое быстродействие. Благодаря устранению всех ненужных служб, встраиваемые версии Windows при работе на допустимом оборудовании демонстрируют значительно более высокое быстродействие, чем стандартные версии Windows.

В комментарии одного из читателей к упомянутой статье были приведены и другие преимущества Windows Embedded, а именно:

  • Ограниченная поверхность атаки для вирусов. Отказ от ненужных служб на компьютере Windows Embedded исключает соответствующие направления атак. Проникновение вирусов невозможно при отсутствии файловых ресурсов общего доступа, выхода в интернет, электронной почты, RPC-сервера и т.д. Это позволяет освободиться от нагрузки, обусловленной функционированием антивирусного ПО.
  • Отсутствие членства в домене. Системы Windows Embedded часто не требуют имени для регистрации в домене или доступа к доменным службам, и поэтому не требуют членства в домене.
  • Отсутствие необходимости в службах индексирования. На компьютере Windows Embedded нет необходимости в службах индексирования, а также в отслеживании «последнего доступа» к файлам. Это позволяет размещать Windows Embedded на небольших флэш-накопителях, не заботясь о количестве записей или выравнивании степени износа носителя (wear leveling).

Версии Windows Embedded

Версии Windows Embedded 7:

  • Windows Embedded Enterprise 7;
  • Windows Embedded Standard 7;
  • Windows Embedded POS Ready 7.

Другие продукты Windows Embedded:

  • Windows Embedded Compact 7;
  • Windows Embedded Handheld 6.5;
  • Windows Server 2008 for Embedded Systems.

Версии Windows Embedded 8:

  • Windows Embedded 8.1 Industry;
  • Windows Embedded 8.1 Pro;
  • Windows Embedded 8 Standard.

Версии Windows Embedded Compact

Существуют также версии Windows Embedded Compact. Эти компакт-версии Windows Embedded, именуемые Windows Embedded CE или Windows CE, предназначены для очень маленьких компьютеров и встраиваемых систем, включая потребительские электронные устройства, такие как абонентские приставки и игровые консоли.

Windows Embedded Compact поддерживает процессоры ARM, MIPS, SuperH, x86 и производные этих архитектур. Подобно своим «некомпактным» собратьям, компакт-версии Windows Embedded – это полнофункциональные операционные системы реального времени с версиями платформ. NET Framework и UI Framework, открытыми драйверами и службами. Компакт-версии Windows Embedded – модульные операционные системы со специальным ядром, работа которого требует менее 1 Mбайт памяти. Именно Windows Embedded Compact лежит в основе Windows Phone 7 и 8.

Дополнительные компоненты, обновления и инструменты

Существует множество дополнительных компонентов, средств разработки и управления, обновлений, инструментов, пакетов обновлений, версий Silverlight и Internet Explorer (IE), а также шаблонов встраиваемых версий Windows. Все это доступно для загрузки для подписчиков MSDN.

Как приобрести Windows Embedded

В отличие от других версий Windows, приобретаемых вместе с новым компьютером либо на диске в магазине, встраиваемую версию Windows можно купить только у авторизованного дистрибьютора (http://www.microsoft.com/windowsembedded/en-us/partners.aspx?filterCapability=29).

Поделитесь материалом с коллегами и друзьями

Оцените статью