До недавнего времени я мало знал о встраиваемых версиях Windows. Наша компания, InterKnowlogy, создает специализированное программное обеспечение. Наш типовой продукт – проект Visual Studio с исходным кодом и набором устанавливаемых двоичных файлов. Несколько лет назад, основав компанию по разработке программных продуктов, я не предполагал, что мне когда-либо придется иметь дело со встраиваемыми операционными системами и управлением конфигурацией. Типовым продуктом этой Actus Interactive Software являются готовые системы Windows с установленным и настроенным программным обеспечением. С первого дня работы компании я взаимодействовал с поставщиками оборудования, и каждый из них твердил о том, что наши приложения должны работать под Windows Embedded.

Почему Windows Embedded?

Я по-прежнему не являюсь экспертом в области встраиваемых версий Windows, но уже многое узнал и собираюсь изучать вопрос и дальше. Думаю, что причиной небольшой популярности этих версий по сравнению с традиционными Windows отчасти является их сложность и отсутствие инструкций. В интернете крайне мало описаний, составленных на понятном разработчикам языке. Большая их часть написана для специалистов по «железу». Возможно, информация, которой я располагаю на сегодня, поможет вам в дальнейшей работе, если ваш сценарий позволяет запускать приложения под Windows Embedded, что уже является залогом успеха.

Заблуждения, предположения и сценарии применения Windows Embedded

Согласно определению, Windows Embedded – это семейство операционных систем, предназначенных для работы на встраиваемых системах. Такая система, как правило, встраивается в состав основного устройства, обычно включающего вычислительное оборудование. Однако это не единственно возможный сценарий работы Windows Embedded. Встраиваемую операционную систему можно устанавливать и на стандартный компьютер. Версии Windows Embedded доступны для производителей и сборщиков вычислительной техники, предоставляющих конечным пользователям готовые системы с уже загруженным программным обеспечением.

Как и многие, я предполагал, что операционные системы Windows Embedded призваны обеспечивать работу целевых приложений на C++ или на языке ассемблера на специальных устройствах. Действительно, такие типы приложений работают под Windows Embedded. Однако под этими операционными системами ничуть не хуже работают. NET-приложения для стандартных компьютеров. Когда же для запуска. NET-приложения целесообразно выбрать Windows Embedded вместо полнофункциональной версии Windows? В следующих двух случаях:

  1. Когда запускаемое приложение – единственное, которое будет работать на данном компьютере. В частности, наша компания создает программное обеспечение для интерактивных цифровых вывесок в общественных местах. Наши клиенты хотят защитить свои информационно-рекламные средства от несанкционированного доступа и подмены отображаемого контента. Приложение должно быть интерактивным и обеспечивать надежное функционирование дисплеев в режиме 24/7.
  2. Если требуется создать определенное количество систем с одинаковой конфигурацией операционной системы и установленным приложением. На обычном компьютере Windows 7 нужная настройка Windows с установкой нашего приложения занимает 3-4 часа. В частности, необходимо исключить появление экрана регистрации в Windows, настроить запуск цифровой вывески на дисплее сразу после загрузки, отключить автозапуск, системные сообщения, заставки, спящий режим и т.д. Представляете, сколько времени уйдет на многократное повторение этого процесса? В таком случае разумно создать образ уже настроенной операционной системы с установленным приложением и просто развернуть его на всех компьютерах.

До недавнего времени я также предполагал, что версии Windows Embedded работают без монитора и пользовательского интерфейса. Я думал, что создается приложение, реализуемое на уровне «железа» и интегрируемое с операционной системой неким магическим способом, предусмотренным Microsoft. Ничуть не бывало. Windows 7 Embedded можно настроить так, что она будет внешне практически неотличима от стандартной версии Windows 7, только работать станет значительно быстрее.

Экономия средств на лицензию Windows

Стоимость лицензии на версии Windows Embedded значительно ниже, чем у стандартных версий. Цена зависит от нескольких факторов, в том числе от выбранной версии и количества пользователей, но встраиваемая операционная система Windows, без сомнения, обойдется вам значительно дешевле.

Компонентная форма поставки с возможностью выбора готового шаблона

При установке Windows 7 Standard Embedded меня неприятно удивило отсутствие документации с описанием готовых шаблонов операционной системы. Я быстро выяснил, что Windows Embedded предусматривает возможность установки только тех компонентов, которые нужны для выполнения конкретной задачи. Однако выбор из нескольких тысяч компонентов и модулей, несомненно, требует глубокого знания архитектуры Windows. Теоретически можно свести операционную систему к абсолютному минимуму в плане циклов процессора и дискового пространства. Что интересно, самый первый шаблон в списке называется Application Compatibility (совместимость приложений). На самом деле его следовало бы назвать Full Windows Mode (полный режим Windows), поскольку именно таковым он и является. После установки этого шаблона очень трудно заметить разницу между встраиваемым вариантом Windows и полнофункциональным (см. экран 1).

 

Панель управления встраиваемой версии Windows с шаблоном Application Compatibility
Экран 1. Панель управления встраиваемой версии Windows с шаблоном Application Compatibility

Быстродействие

Неудивительно, что свободные от лишних компонентов и служб встраиваемые версии Windows при работе на оборудовании должного уровня отличаются молниеносным быстродействием по сравнению со стандартными версиями Windows. Наши интерактивные цифровые вывески создаются в WPF. Это ресурсоемкие приложения, работа которых создает большую нагрузку на машины бюджетного уровня. Однако на подходящем компьютере (например, на базе комплекта Intel NUC) очень быстро работает не только приложение, но и операционная система (см. экран 2). Загрузка Windows Embedded происходит с такой быстротой, что у нас даже возникли проблемы. Скорость оказалась слишком высокой, и мы были вынуждены внести некоторые изменения в локальную службу, чтобы она имела возможность как следует отработать при загрузке и создать экземпляр.

 

Показатели быстродействия Windows Embedded
Экран 2. Показатели быстродействия Windows Embedded

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