Windows Embedded: новые возможности для построения встраиваемых устройств будущего

Павел Белевский

Журнал Rational Enterprise Management

№2/2011

В статье рассмотрены общие тенденции развития встраиваемых устройств и компактных систем и представлен обзор новых встраиваемых операционных систем компании Microsoft.

Сфера разработки современных устройств с электронной “начинкой” отличается, пожалуй, самой высокой динамичностью, что обусловлено достаточно малым жизненным циклом продуктов, в особенности если дело касается рынка потребительских продуктов. В таких, можно сказать, жестких – с точки зрения времени от начала разработки до выхода продукта на рынок – условиях важно иметь надежный базис в виде операционной системы, максимально отвечающей специфичным для данных устройств требованиям. ОС должна быть мультиплатформенной, поскольку появление новых, интересных с технологической точки зрения платформ происходит постоянно, и переход на них должен быть как можно менее болезненным. Безусловно, ОС должна поддерживать максимум современных технологий для интеграции в существующие инфраструктуры и успешного взаимодействия с другими устройствами, в том числе и от других производителей. И конечно, ключевым и определяющим фактором эффективности процесса создания встраиваемых устройств является инструментарий разработчика.

В помощь разработчикам устройств компания Microsoft выпустила новую операционную систему Windows Embedded Compact 7, официальный выход которой состоялся в марте этого года. В настоящий момент WEC 7 является одной из немногих доступных на рынке и единственной в семействе встраиваемых ОС компании Microsoft системой, которая поддерживает новейшие многоядерные микропроцессоры ARM-архитектуры на базе ядра Cortex-A9. Производительность ARM-процессоров уже достигла таких величин, что при впечатляюще малом уровне потребления электроэнергии данные процессоры вполне способны работать под управлением настольных систем Windows. И даже если в обозримом будущем состоится выход настольной системы с поддержкой ARM, операционные системы Windows Embedded Compact все равно будут оставаться востребованными, как минимум, в системах, обеспечивающих работу в режиме реального времени.

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

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

Давайте познакомимся с возможностями, которые предоставляют новые и обновленные ОС для разработчиков встраиваемых устройств.

Windows Embedded Compact 7

Основным усовершенствованием, внесенным в Windows Embedded Compact 7, является обновленное ядро. WEC 7 – это первая операционная система из семействаWindows Embedded CE, поддерживающая симметричную многопроцессорную архитектуру (SMP). Благодаря этому новое ядро может одновременно использовать несколько ядер процессора, распределяя между ними потоки. Кроме высокой скорости работы важнейшим преимуществом архитектуры SMP является возможность предотвратить резкое снижение производительности системы в случае бесконтрольного использования ресурсов одним из потоков. Ранее такой поток, даже принадлежащий приложению с обычным приоритетом, мог значительно замедлить работу потоков, выполняемых в фоновом режиме, и снизить быстродействие элементов пользовательского интерфейса. Но в системах с симметричной многопроцессорной архитектурой, даже если неконтролируемый поток полностью загрузит одно из ядер процессора, операционная система и приложения смогут использовать остальные ядра.

Еще одним усовершенствованием, внесенным в новое ядро, является увеличение доступного объема ОЗУ. Архитектура предыдущих версий Windows Embedded CEпозволяла системе управлять только 512 Мб физической памяти. Некоторое время это ограничение не влияло на работу системы, поскольку операционная система Microsoft Windows CE 5.0 позволяла каждому приложению использовать не более 32 Мб виртуального пространства. Однако в Windows Embedded CE 6.0 каждому приложению уже было доступно до 2 Гб виртуального пространства, а размеры и возможности некоторых встроенных приложений значительно возросли. В результате отдельным системам потребовалось более 512 Мб ОЗУ. Windows Embedded Compact 7снимает данное ограничение и поддерживает до 3 Гб физической памяти, позволяя одновременно использовать сотни приложений и предоставляя каждому приложению необходимый объем ОЗУ.

Компоненты новой версии операционной системы были перекомпилированы, чтобы обеспечить поддержку последней версии архитектуры ARM. В версию WEC 7 добавлена поддержка кодов операций ARM v7 и расширений NEON – набора SIMD-инструкций (архитектура с одиночным потоком команд и множественными потоками данных), значительно повышающих производительность при обработке цифровых сигналов и декодировании мультимедиа. При этом WEC 7 не поддерживает архитектуру ARM v4, которая использовалась снятым с производства процессором StrongARM. Архитектуры ARM v6 и ARM v5, которые использовались ранее выпускаемым процессором XScale и другими процессорами, по-прежнему поддерживаются.

Высокая эффективность процесса разработки встраиваемых устройств на базе WEC 7достигается благодаря использованию популярных и хорошо знакомых разработчикам инструментов: Microsoft Visual Studio 2008 и Microsoft Expression Blend 3. Для разработки устройств на базе WEC 7, помимо самой Visual Studio, необходимо установить плагин Platform Builder. Также для используемой аппаратной платформы должен быть установлен пакет аппаратной поддержки – BSP. В поставке средств разработки идут примеры BSP для каждой поддерживаемой архитектуры: x86, ARM, MIPS. В общем случае этапы разработки образа состоят из создания дизайна ОС, выбора необходимых компонентов, сборки образа, его отладки и тестирования на устройстве. Практически все указанные этапы выполняются в интегрированной среде Microsoft Visual Studio. Для отладки встраиваемых устройств доступны как стандартные средства Visual Studio (точки останова, стек вызовов и пр.), так и широкий спектр инструментов из арсенала Platform Builder, наиболее мощными из которых являются утилиты удаленной работы (Remote Tools). Утилиты удаленной работы позволяют просматривать и изменять содержимое файловой системы, реестра, делать снимки экрана, получать системную информацию и анализировать производительность системы. Для тестирования устройств служит отдельный пакет тестирования – Compact Test Kit (CTK), который не интегрирован в Visual Studio, а представляет собой отдельную программу для централизованного запуска различных тестов на устройствах, сбора и анализа полученных результатов.

Еще одной новой возможностью Windows Embedded Compact 7 является поддержка Silverlight for Windows Embedded – уникальной библиотеки пользовательского интерфейса API, позволяющей в полной мере раскрыть потенциал средств визуализации Silverlight и кода Native C++. Native-код предоставляет важные преимущества для встраиваемых устройств – возможность напрямую взаимодействовать с драйверами периферийных устройств и удовлетворять требованиям по работе в режиме реального времени. Для удобства разработки Silverlight-приложений в состав WEC 7 входит Windows Embedded. Silverlight Tools (WEST) – новый набор инструментальных средств, обеспечивающий автоматическое преобразование приложений Silverlight, созданных с помощью Microsoft Expression Blend, в код Silverlight for WE. При использовании предыдущих версий разработчикам приходилось вручную преобразовывать код Expression Blend в код C++. WEST заменяет этот подверженный ошибкам процесс простым выбором пунктов меню в Platform Builder. В качестве примеров в поставке средств разработки WEC 7 идет оболочка, вариант Internet Explorer и мультимедийные плееры, интерфейс которых разработан с использованием Silverlight for WE.

Вас может заинтересовать:

Для того чтобы интерфейс не только отлично выглядел, но был удобен и интуитивно понятен, в дополнение к технологии Silverlight for Windows Embedded реализована поддержка сенсорных экранов с распознаванием множественных касаний (Multi-Touch). Также как и Silverlight for WE, технология Multi-Touch является тем полезным дополнением, которое делает общение с устройством более приятным и эффективным. Очевидно, что одних только технологий для разработки интерфейсов было бы недостаточно для создания современных мультимедийных устройств и устройств, активно использующих коммуникации. Непосредственно для мультимедийных решений в поставке идет набор аудио/видео-кодеков с поддержкой DirectShow, webбраузер Internet Explorer 7 c поддержкой Adobe Flash 10 и средства для просмотра документов. В плане коммуникационных возможностей в арсенале разработчика есть большой набор компонентов для использования в устройствах таких технологий, как Wi-Fi, Bluetooth 2.1, DLNA 1.5, GSM/CDMA/3G/EDGE. При этом у разработчика всегда есть возможность задействовать менеджер соединений (Connection Manager), который абстрагирует приложения от нюансов подключения к локальной сети или сети Интернет.

Windows Embedded Standard 7 SP1

Весной этого года средства разработки Windows Embedded Standard 7 получили кумулятивное обновление SP1. Об этой системе, которая является компонентной версией Windows 7 для встраиваемых устройств, шла речь в статье, опубликованной в REM № 2, 2010. Помимо различных исправлений, повышающих безопасность и производительность системы, в состав SP1 включена обновленная версия протокола для удаленного подключения к рабочему столу RDP 7.1. В первую очередь, конечно, это заинтересует производителей устройств типа “тонкий клиент”, или, как их еще называют, “терминальный клиент”. Вкратце суть работы подобного устройства заключается в подключении к специальному терминальному серверу, на котором запускается сессия. Для пользователя работа в режиме удаленной сессии практически не отличается от работы за обычным персональным ПК. Но при этом есть ряд важных преимуществ, которые относятся к повышению отказоустойчивости системы и защищенности информации. В случае сбоя устройства оператор может продолжить работу на любом другом устройстве, заново подключившись к своей сессии на сервере без потери данных. В масштабах большого предприятия можно повысить мобильность пользователей за счет размещения компактных терминальных станций на территории предприятия, что позволит работать с любой из них. Защищенность конфиденциальной информации повышается за счет того, что на клиентских системах она попросту не содержится – вся оперативная информация хранится на сервере в рамках терминальной сессии.

До выхода SP1 область применения тонких клиентов ограничивалась задачами без особых требований к компьютерной графике. И эффект от их использования, например, для SCADA-систем с объемной визуализацией сложных производственных процессов при помощи графических ускорителей, оставлял желать лучшего. С новой версией протокола для удаленного подключения к рабочему столу Windows 7 или Windows Server 2008 R2 становится возможным выполнять аппаратное ускорение компьютерной графики на стороне сервера (технология RemoteFX) и получать доступ к подключенной к устройству USB-периферии из сессии на сервере. Таким образом, выход SP1 откроет новую эру для терминальных устройств.

Воспользоваться новыми возможностями SP1 можно как во вновь разрабатываемых устройствах, так и в уже готовых. Для готовых устройств доступно несколько опций, среди которых есть вариант обновления через Windows Update. Проверить используемую версию протокола удаленного рабочего стола можно в свойствах RDP-клиента. Естественно, для того чтобы воспользоваться преимуществами новых технологий удаленного доступа, помимо установки на тонких клиентах соответствующие обновления должны быть произведены на всех элементах инфраструктуры, включая сервера и клиентские системы.

Windows Embedded POSReady 7

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

В основе Windows Emdebbed POSReady 7 будет лежать ранее упомянутая Windows Embedded Standard 7. В отличие от WES 7 в POSReady 7 нет такой же гибкости в выборе компонентов, составляющих образ системы, но при этом есть ряд преимуществ. Первое – это отсутствие средств разработки. Исключение затрат на средства разработки по достоинству оценят производители с небольшим объемом выпускаемой продукции, в которой востребован функционал Windows 7. Второе – это то, что процедура установки была максимально упрощена (установка системы выполняется с DVD или USB-носителя), что можно заметить при установке предварительной версии системы. Для производителей это очень важный фактор, поскольку в целевой сфере использования POSReady подразумевается достаточно разнообразный парк оборудования, и упрощение процедуры установки повышает эффективность внедрения и поддержки решений. Следующий важный момент, относящийся к линейке Windows Embedded POSReady, – это поддержка технологий POS for .NET. POS for .NET позволяет разрабатывать универсальные приложения, которые абстрагированы от конкретной модели того или иного периферийного устройства, а также позволяет выполнять подключение устройств “на ходу”, без перезапуска приложения. И заключительной особенностью POSReady 7является поддержка таких технологий для встраивания, как фильтры защиты от записи и загрузка по USB, что значительно расширяет сценарии использования по сравнению с классической настольной Windows 7.

Итак, в текущем году произошло полное обновление линейки встраиваемых операционных систем Windows Embedded, на рынке появились следующие продукты:Windows Embedded Compact 7 – новая компактная операционная система реального времени с поддержкой современных многоядерных процессоров и экранов с распознаванием множественных касаний; Windows Embedded Standard 7 SP1 – обновленная компонентная версия популярной Windows 7 с возможностями для встраивания в устройства; и наконец, планируется к выпуску Windows Embedded POSReady 7 – универсальная система, сочетающая преимущества быстрой установки и технологий, востребованных во встраиваемых устройствах.

Полный текст статьи

Павел Белевский, ведущий специалист отдела исследований и разработок,

ООО «Кварта Технологии», г. Москва,

info@quarta.ru

Последние статьи: