Вход |  Регистрация
 
 
Время электроники Среда, 20 ноября
 
 


Это интересно!

Ранее

Контроллер BASIC Pic. Строим термометр, таймер-термостат и домашнюю метеостанцию

Первый энергоэффективный COM-модуль на компонентах с температурным диапазоном –40…85°C и семейство microETXexpress

Международный холдинг Kontron продолжает разрабатывать новые изделия в малогабаритном формате microETXexpress, совместимом со стандартом COM Express. На текущий момент продуктовая линейка Kontron формата microETXexpress включает модули COM низкой, средней и высокой производительности, а также принципиально новый продукт, обеспечивающий поддержку температурного диапазона –40…85°C на уровне компонентной базы. Данное изделие, получившее название microETXexpress-XL, уникально как для рынка модулей COM, так и для индустрии x86-совместимых процессорных плат в целом. В статье рассмотрены особенности модулей формата microETXexpress, выпускаемых в настоящее время холдингом Kontron.

Тенденции развития многоядерных систем на кристалле (СнК)

В статье описана архитектура СнК на основе процессоров со специализированным набором команд (ASIP —Application Specific Instruction Set Processor) и процессорных модулей DPU.

Реклама

По вопросам размещения рекламы обращайтесь в отдел рекламы

Реклама наших партнеров

 

20 марта

Обзор встраиваемых операционных систем

В статье рассмотрены основные особенности наиболее распространенных ОСРВ. Приведены отправные критерии выбора ОС.





Вы можете скачать эту статью в формате pdf здесь.

Скрыть/показать html версию статьи
background image
31
встраиваемые системы#1
В
статье рассмотрены основные особенности наиболее распространенных ОСРВ. Приведены отправные крите-
рии выбора ОС.
Одним из определений ОСРВ является следующее: ОСРВ — это
такая операционная система, правильность функциониро-
вания которой зависит не только от логической коррект-
ности вычислений, но и от времени, за которое они были
выполнены.
Встраиваемые ОСРВ обычно выделяют в отдельный класс.
Встраиваемая операционная система — это ОС для встра-
иваемых систем. При ее создании особое внимание уде-
ляют компактности и эффективности работы, отказываясь
от большинства функций, предоставляемых операцион-
ными системами для персональных компьютеров. Такие
решения оправданны, поскольку встраиваемые устрой-
ства выполняют одну или несколько конкретных задач
и большая часть функциональности обычных ОС им не
требуется.
Операционные системы реального времени подразделяются
на системы «жесткого» и «мягкого» времени. В системах
жесткого реального времени гарантировано выполнение
необходимых действий за определенный временной интер-
вал. Его превышение приводит к отказу. ОС мягкого реаль-
ного времени, как правило, успевает выполнить действия
за заданный временной интервал, но полностью не гаранти-
рует этого. В этом случае превышение времени выполнения
не приводит к отказу оборудования. Большая часть про-
граммного обеспечения ориентирована на мягкое реальное
время.
В настоящее время наиболее распространены ОСРВ Linux и
Windows, а также ОС, построенные на их основе. Рассмотрим
некоторые из них подробнее.
BlueCat linux
Операционная система BlueCat Linux (LynuxWorks) основана
на ОС Linux и подходит для широкого ряда встраиваемых
систем. Она поддерживает такие архитектуры как XScale,
PowerPC, IA-32, ARM, MIPs и x86.
Основные особенности BlueCat Linux:
возможность разрабатывать приложение на хост-
платформе (Linux или Windows) и обеспечивать необходи-
мые средства для передачи разработанного ПО на целевую
платформу;
поддержка множества независимых инсталляций для различ-
ных целевых систем на основе одной хост-платформы;
доступность всех возможностей и средств хост-платформы.
lynxOS 5.0
Операционная система LynxOS 5.0 появилась в 2008 г. и была
предназначена в первую очередь для комплектного и теле-
коммуникационного оборудования, например бортовых
систем военного применения. Выпуск новой версии был
обусловлен необходимостью получения разработчиками
адекватного продукта, соответствующего современному
уровню развития процессорных технологий.
Обзор встраиваемых операционных
систем
Сергей Пономарев, техн. консультант, «ИД Электроника»
Основными аппаратными платформами, которые поддержи-
ваются всеми версиями LynxOS, являются x86 и PowerPC.
Кроме того, существуют специальные заказные версии
для процессоров MIPS. Основной отличительной особен-
ностью версии LynxOS 5.0 является поддержка многоядер-
ных конфигураций и архитектуры симметричной мульти-
процессорной обработки данных (SMP). Ниже приведены
особенности LynxOS 5.0, отличающие ее от версий LynxOS
4.0/4.2.
Обновленный набор средств разработки GNU toolchain, осно-
ванный на GCC, G++ версии 3.4.3 и GDB версии 6.5.
Разработка приложений и драйверов доступна только в
кросс-среде (Linux или Windows).
Многопотоковые библиотеки (в предыдущих версиях под-
держивались как однопотоковые, так и многопотоковые
версии библиотек). Это обеспечивает универсальность
разрабатываемого пользователем программного обеспе-
чения.
Поддержка файловой системы FAT16/32, что позволяет
использовать файлы под DOS и Windows.
Единый формат файлов (ELF).
Поддержка языка Ada (GNAT 3.4.3).
Полная поддержка многопотоковой версии C++.
Более современный уровень согласованности с POSIX: POSIX-
POSIX 1003.1-2003 PSE 53/54.
Двоичная ABI-совместимость c Linux 2.6. В предыдущих вер-
сиях LynxOS (4.0/4.2) поддерживалась с Linux 2.4. Новая вер-
сия Linux ABI (Application Binary Interface) позволяет запускать
в среде LynxOS 5.0 такие сложные приложения как Oracle 9,
Apache, ACE-TAO, PostGres и QT.
Новейшая интегрированная среда разработки Luminosity 3.0,
основу которой составляет популярная инструментальная
платформа Eclipse. Luminosity представляет собой полно-
функциональную интегрированную среду разработки на базе
Java, предназначенную для использования в системах LynxOS
для создания, редактирования, компилирования, контроля и
отладки встраиваемых приложений и программ реального
времени.
LynxOS 5.0 может работать в режиме SMP на платах с нескольки-
ми ядрами или процессорами. Главной особенностью систем
с архитектурой SMP является наличие общей физической
памяти, разделяемой всеми процессорами. При обращении
к памяти все процессоры имеют равные права и одну и ту же
адресацию для всех ячеек памяти.
В LynxOS 5.0 существует только одна очередь потоков на
выполнение в системе. Когда поток готов к работе,
планировщик немедленно запускает его на одном из
процессоров с самым низким текущим приоритетом
выполняемого потока. Этот подход гарантирует, что в
системе с N процессорами в любой момент времени
выполняются N потоков с самым высоким приоритетом.
С другой стороны, перемещение потоков между про-
background image
32
Вс#1[март]2010
Встраиваемое ПО
цессорами происходит чаще, чем в методе с множеством
очередей на выполнение, и таким образом приводит к
сокращению суммарной производительности системы.
Многие современные многоядерные архитектуры менее
чувствительны к этому эффекту, т.к. имеют в своем соста-
ве общий для всех ядер кэш 2-го или 3-го уровня, зна-
чительно ускоряющий перемещение контекста потока
между ядрами.
lynxSeCure
Данная операционная система создана на базе MILS-архитектуры
для оборонной и авиационной отраслей.
Архитектура с независимыми уровнями защиты (MILS — Multiple
Independent Levels of Security) предложена как решение,
которое должно гарантировать защиту информационных
и управляющих систем на объектах, обрабатывающих кри-
тическую информацию. Это компонентная архитектура,
основанная на коммерческом ядре разделения, которое
воплощает концепцию взаимодействия по строго формали-
зованным правилам и выполняет приложения в изолирован-
ных разделах.
Ядро LynxSecure компании LynuxWorks полностью соответству-
ет спецификации архитектуры MILS, которая определяет
очень строгие принципы изоляции данных, ограничения на
распространение ошибок и политик управления информа-
ционными потоками и полностью удовлетворяет жестким
требованиям к безопасности и защите данных. Технологии
разделения программных средств и аппаратной виртуали-
зации позволяют одной операционной системе функцио-
нировать наряду с другими в одной и той же вычислитель-
ной среде, обеспечивая тем самым поддержку нескольких
операционных контекстов на базе одного и того же физиче-
ского оборудования.
Традиционные сервисы ОС, которые ранее работали в при-
вилегированном режиме, например драйверы устройств,
файловая система, сетевые стеки и т.д., в LynxSucre работают
в непривилегированном режиме.
В отличие от обычного ядра безопасности, реализующего все
высоконадежные функции безопасной ОС, LynxSecure пред-
ставляет собой ядро разделения. Это ядро разграничивает
все данные и системные ресурсы и управляет информаци-
онными потоками между разделами. Ядро LynxSecure под-
держивает симметричную многопроцессорную обработку, а
также 32- и 64-разрядную адресацию для реализации широ-
ких возможностей масштабирования.
Поскольку ядро разделения обеспечивает определенные
функциональные возможности, политика безопасно-
сти, которую необходимо осуществить на уровне ядра,
относительно проста. Основные задачи ядра разделения
LynxSecure — изолирование процессов и данных вкупе со
сдерживанием общесистемных отказов. Кроме того, ядро
выполняет функции обслуживания прерываний и работы
с семафорами.
Эта конфигурация приводит к значительному уменьшению коли-
чества критического по отношению к безопасности кода так,
что позволяет существенно увеличить уровень строгости
при верификации кода LynxSecure.
Последняя версия LynxSecure 2.0 вышла год назад. В новой вер-
сии реализованы следующие основные возможности:
поддержка многопроцессорных конфигураций, позволяющая
разработчикам в полной мере использовать преимущества
современных многоядерных процессоров;
возможность реализации политик безопасности, включая
контроль над взаимодействием между гостевыми ОС;
поддержка запуска на одном процессоре нескольких госте-
вых ОС, сильно различающихся между собой по степени
надежности и защищенности;
поддержка открытых стандартов POSIX, Linux ABI, DO-178B,
Common Criteria и ARINC-653;
возможность назначения отдельных устройств отдельным
гостевым ОС;
наличие средств конфигурирования платформы и определе-
ния политик безопасности;
возможность организации виртуальных сетей между гостевы-
ми ОС.
WindOWS Ce
WinCE — это ОС Microsoft Windows для КПК, мобильных телефо-
нов и встраиваемых систем. Среди поддерживаемых архи-
тектур можно назвать x86, MIPS, ARM и процессоры Hitachi
SuperH.
Система Windows CE оптимизирована для устройств, имеющих
минимальный объем памяти: ядро Windows CE может рабо-
тать на 32 Кбайт памяти. При использовании графического
интерфейса GWES понадобится от 5 Мбайт.
У ОС Windows CE следующие основные свойства.
Многозадачная ОСРВ для встраиваемых систем;
Каждая задача может содержать несколько потоков (нитей).
Поддерживается до 32 одновременно выполняемых задач с
вытесняемой многозадачностью.
256 уровней приоритета с поддержкой вложенных прерыва-
ний.
Поддержка протоколов связи для персональных, локальных
и территориально-распределенных сетей, включая BlueTooth,
IEEE 802.11, IEEE 1394 и USB 2.0.
Поддержка многопроцессорных конфигураций.
Поддержка объектов данных ActiveX для Windows CE (ADOCE),
Win32 API.
Реализация очередей сообщений (MSMQ).
Поддержка интерфейсов COM, DCOM, ATL, MFC, LDAP, XML.
Поддержка SOAP Toolkit, Speech API (SAPI) 5.0.
Поддержка Microsoft SQL Server CE 2.0.
WindOWS emBedded
Windows Embedded CE 6.0 ориентирована на предприя-
тия, изготавливающие промышленные контроллеры и
устройства бытовой электроники. На текущий момент
доступна версия Windows Embedded CE 6.0 R3. Она под-
держивает процессоры ARM, MIPS и x86, а также среду
разработки Silverlight for Windows Embedded, которая
позволяет создавать приложения и пользовательские
интерфейсы для данной ОС. В набор программного
обеспечения, входящего в Windows Embedded CE 6.0
R3, входят Internet Explorer Embedded, встраиваемый
модуль Flash Lite, программы для просмотра доку-
ментов Microsoft Office и PDF, а также IM-клиент QQ
Messenger.
Windows Embedded CE 6.0 R3 позволяет подключаться к ком-
пьютерам на основе операционной системы Windows 7 с
помощью инструментов Windows 7 Device Stage и Microsoft
Connection Manager.
rtx
Помимо собственных разработок корпорации Microsoft,
существуют другие ОС на основе Windows. Например,
расширение для работы в реальном масштабе времени
(RTX — Real Time Extention) для ОС Windows (NT, NT
Embedded, 2000, XP, XP Embedded) фирмы IntervalZero
позволяет создавать приложения с детерминирован-
ным и очень малым временем реакции на внешние
события. Кроме того, RTX обеспечивает средства и ути-
литы для построения и выполнения программ реально-
го времени, а также средства для измерения и «тонкой»
настройки производительности как аппаратных, так и
background image
33
встраиваемые системы#1
программных средств. Средства RTX имеют следующие
особенности.
Поддержка процессов реального времени, управляемых
собственным планировщиком RTX, который работает как
полноценный планировщик ОСРВ и использует алгоритм
вытеснения по приоритетам. Кроме того, процессы реально-
го времени имеют преимущество перед стандартными про-
цессами Win32, вытесняя их.
Возможность взаимодействия между процессами реального
времени и стандартными процессами Win32.
Наличие программного интерфейса RTAPI для процессов
реального времени.
Возможность одновременного использования как стандарт-
ных функций Win32, так и специфических функций API реаль-
ного времени (RTAPI), что позволяет выделять критические
участки кода приложений Windows, контролировать время и
надежность их выполнения.
Контроль над работоспособностью и временем реакции
системы. Зависания стандартных приложений Windows или
сбой в работе системы не приводят к зависанию приложений
реального времени.
Возможность работы с быстрыми часами и таймерами высо-
кого разрешения.
Наличие прямого доступа к памяти и физическим устройствам.
VxWOrkS
ОСРВ семейства VxWorks корпорации WindRiver Systems пред-
назначены для разработки ПО для встраиваемых ком-
пьютеров, работающих в системах жесткого реального
времени.
ОС VxWorks имеет архитектуру клиент-сервера и построе-
на в соответствии с технологией микроядра. На самом
нижнем непрерываемом уровне ядра (WIND Microkernel)
обрабатываются только планирование задач и управле-
ние их взаимодействием и синхронизацией. Вся осталь-
ная функциональность операционного ядра (управление
памятью, операциями ввода/вывода и т.д.) обеспечивает-
ся на более высоком уровне и реализуется через процес-
сы. Это обеспечивает более высокое быстродействие и
детерминированность ядра, а также масштабируемость
системы.
Хотя система VxWorks является конфигурируемой, все модули
построены на основе базового ядра и спроектированы таким
образом, что не могут использоваться в других средах.
Ядро VxWorks обладает следующими параметрами:
количество задач неограничено;
число уровней приоритетов задач — 256;
планирование задач возможно двумя способами: цикличе-
ским и вытеснением по приоритетам;
управление критическими системными ресурсами обеспечи-
вается несколькими типами семафоров: двоичными, вычисли-
тельными и взаимно исключающими с приоритетным насле-
дованием;
поддержка детерминированного переключения контек-
ста.
В VxWorks обеспечивается как основанный на POSIX, так и соб-
ственный механизмы планирования. Оба варианта включа-
ют вытесняющее и циклическое планирование. Различие
между ними состоит в том, что собственный механизм при-
меняется в системном базисе, в то время как алгоритмы
POSIX-планирования применяются в базисе процесс-за-
процессом.
В VxWorks все задачи системы и приложений разделяют един-
ственное адресное пространство, что чревато нарушением
стабильности системы из-за неисправности какого-либо
приложения. Однако существует компонент VxVMI, который
позволяет каждому процессу иметь собственную виртуаль-
ную память.
Для обеспечения быстрой обработки внешних прерываний про-
граммы обработки прерываний (ISRs — Interrupt Service
Routines) в VxWorks выполняются в специальном контексте
вне контекстов потоков, что позволяет выиграть время,
которое обычно тратится на переключение контекстов.
Qnx
QNX — жесткая ОСРВ, разработанная изначально для встраи-
ваемых приложений. Как и любая микроядерная операци-
онная система, QNX основана работе отдельных сервисов.
Использование микроядра в QNX позволяет разработчи-
кам отключить любую ненужную им функцию, не изменяя
ядро.
Помимо стандартных семейств x86, MIPS и PowerPC, QNX под-
держивает специализированные семейства процессоров,
например SH-4, ARM, StrongARM и xScale.
QNX применяется в интеллектуальных устройствах самого
различного назначения — от бортовых информационных
систем и сетевых маршрутизаторов до распределенных
систем управления предприятиями. В России к числу тради-
ционных применений QNX относятся промышленные кон-
троллеры, телекоммуникационные устройства и бортовые
вычислительные комплексы.
ОСнОвные критерии выбОра ОСрв
Выбор ОС — важная и ответственная задача, для решения кото-
рой требуется проводить тщательный анализ проектируе-
мой системы или модуля. Тем не менее мы остановимся на
некоторых технических аспектах, которые позволят грубо
оценить пригодность той или иной ОСРВ.
Поначалу необходимо выделить критичные ко времени обра-
ботки события и определить допустимое время реакции на
них. Следует оценить возможность создания бездисковой
конфигурации системы.
Допустимое время загрузки для разных ОСРВ. Этот параметр
колеблется от секунды до нескольких десятков секунд. В
большинстве систем (OS9, VxWorks) время загрузки можно
регулировать, изменяя стартовые последовательности. В
ОС LINUX время загрузки в стандартном варианте более
минуты, система неустойчива к внезапным остановам —
требуется стандартная процедура завершения работы с
системой (shutdown). Однако LINUX достаточно гибкая, и
можно создать конфигурации системы, в которых время
загрузки будет уменьшено до десятка секунд, а систе-
ма — устойчива к сбоям (использование специальной
опции файловой системы). В Windows NT время загрузки
более минуты, система неустойчива к внезапным сбоям.
Использование расширений реального времени (RTX)
позволяет обнаруживать зависания системы, выполнять
действия по сохранению данных и другие необходимые
операции.
ЛитеРатуРа
1. А. Жданов, А. Латыев. Замечания о выборе операционных систем при
построении систем реального времени // PCWeek, 1/2001.
2. Александр Дудкин. Встраиваемые системы и ОС для них // http://hww.
ru/wp/?p=41.
3. Материалы сайта www.rtsoft.ru.
4. Материалы сайта www.intuit.ru.
Оцените материал:

Автор: Сергей Пономарев, техн. консультант, «ИД Электроника»



Комментарии

0 / 0
0 / 0

Прокомментировать





 

Горячие темы

 
 




Rambler's Top100
Руководителям  |  Разработчикам  |  Производителям  |  Снабженцам
© 2007 - 2019 Издательский дом Электроника
Использование любых бесплатных материалов разрешено, при условии наличия ссылки на сайт «Время электроники».
Создание сайтаFractalla Design | Сделано на CMS DJEM ®
Контакты