Встроенные системы: системы реального времени для новых поколений
Встроенные системы реального времени сегодня далеко не те, что были раньше. Появились новые возможности по защите данных и взаимодействию с внешним миром.
Встроенные операционные системы реального времени (ОСРВ) поддерживают работу самолетов, поездов, автомобилей, а также заводского оборудования. В основе их работы лежит четкий детерминизм: гарантия того, что в нужное время или при возникновении определенного события система среагирует на него.
Но сегодня этого недостаточно. Большую роль играют безопасность, надежность и качество передачи информации. Например, рассмотрим опыт поставщика систем промышленного управления Siemens Energy and Automation (SEA), город Норкросс (Norcross), Джорджия. Компании потребовалось установить компьютер в заводском цеху. Как рассказал Эрик Кацзор (Eric Kaczor), менеджер по маркетингу инженерного программного обеспечения SEA, группа быстро определила, что стандартный офисный ПК для поставленной цели не подходит. Чтобы избавиться от сбоев и других неполадок, было решено воспользоваться ОСРВ.
Однако на выбор ОСРВ повлияла необходимость сохранить возможность работы с офисными приложениями. „При выборе операционной системы реального времени мы искали среду, в которую можно будет встроить работу с офисными приложениями",- говорит Кацзор.
Больше, чем ПЛК
В настоящее время компьютер с ОСРВ должен поддерживать различные протоколы связи, удовлетворять требованиям техники безопасности, обеспечивать защиту информации и, к тому же, выглядеть, как офисный персональный компьютер. Производители ответили на эти требования увеличением функций и возможностей своих ОСРВ, что накладывает определенные ограничения на память и другие ресурсы компьютера. К счастью, имеется возможность настроить ОСРВ, убрать из нее ненужные компоненты так, чтобы она удовлетворяла требоволием системы. Обзор текущего состояния ОСРВ поможет проследить их эволюцию и понять, чего можно ожидать в приложениях промышленности, автоматизации и управления.
SEA воспользовалась ОСРВ RTX (компании Citrix г. Волтхем (Waltham), Массачусетс), установленной на промышленном компьютере Simatic Microbox 420. ОСРВ предоставляет гораздо больше возможностей, чем это кажется на первый взгляд. „Они смотрят на компьютер и считают, что это ПЛК…, не понимая, что ОСРВ — это гораздо больше, чем ПЛК",-говорит Кацзор.
Одна из ключевых возможностей — это возможность и средства коммуникации. Поль Чен (Paul Chen), менеджер по линии продуктов VxWorks в компании-производителе ОСРВ Wind River Systems (г.Аламеда, Калифорния) отмечает, что взаимодействие с внешним миром — это необходимое требование для современной операционной системы реального времени. Система должна поддерживать такие общепринятые интерфейсы как USB, Ethernet и беспроводную связь. Пользователям также требуется внедрение таких стандартов как Internet нового поколения (IPv6), различные варианты беспроводного протокола 802.х MIPv4 и MIPv6 для мобильных приложений и средства обеспечения безопасности: IPsec и HTTPS.
Требования производителям ОСРВ диктуют пользователи. „Если операционная система реального времени не будет обладать нужной функциональностью, пользователям придется дописывать нужные компоненты самим",-говорит Чен.
Основная опасность в компонентах, написанных пользователем или производителем оборудования, состоит в том, что они могут повлиять на планировщик ОСРВ — основу системы, которая и определяет детерминизм ее работы. С кодом знакомы только разработчики ОСРВ, поэтому они могут добавить необходимую функциональность, не нарушая детерминизм системы.
То же самое можно сказать и о вопросах безопасности и защиты информации. Они возникают в аэрокосмических, промышленных и медицинских приложениях, которые регулируются стандартами, начинающимися 3-х буквенными аббревиатурами: FAA DO-178B, IEC 61508 и FDA 510(k).
С добавлением коммуникационных возможностей работа встроенной ОСРВ становится все более сложной, особенно в вопросах безопасности. Один из типов системы защиты используется в военных отраслях, в прошлом разные подсистемы отвечали разным уровням доступа. В настоящее время существует тенденция объединения всех уровней в одном приборе, то есть защита доступа к самой важной информации осуществляется с помощью программно-аппаратных средств.
Другой тип системы безопасности знаком всем, работавшим на офисном компьютере, в котором одна программа может получить доступ к области данных другой программы и существует возможность внешней атаки. Чен отмечает, что изменение оборудования отчасти помогает решить эту проблему. Производители микросхем добавляют процессоры, чтобы специализированные функции можно было выделить из программного обеспечения.
В некоторые функции входит шифрование для защиты информации или поиск шаблона при обнаружении вирусов. «Специализированное оборудование обычно работает быстрее программной части, поэтому ОСРВ должна поддерживать и эффективно использовать различные аппаратные средства», — говорит Чен.
Он продолжает: «Во встроенных приложениях стали доступны многоядерные процессоры. При разделении одного процессора на несколько однородных компонентов или ядер, они могут работать с меньшей частотой, следовательно падает потребление энергии, а производительность увеличивается. Таким образом, ОСРВ становится более совершенной, но для этого программное обеспечение должно поддерживать распараллеливание выполнения задач на несколько процессоров».
Появление чипов флэш-памяти достаточной емкости позволило промышленным системам отказаться от вращающихся дисков с их низким сроком службы и перейти на твердотельные носители. Фото предоставлено Siemens Energy and Automation.
Роберт Дей (Robert Day), вице-президент по маркетингу компании Lynuxworks (Сан-Хосе, Калифорния) отмечает, что в современных многоядерных микропроцессорах существуют выделенные области памяти, и все участки разделены, как кирпичными стенами. Этим методом можно воспользоваться и в следующей системе: одна система реального времени является управляющей, она контролирует работу основной ОСРВ, находящейся в одной области памяти, а другие приложения работают в совершенно другой области.
Ден Мендер (Dan Mender), директор по развитию компании-производителя ОСРВ Green Hills Software Inc. (Санта-Барбара, Калифорния) отмечает, что такое разделение ядра системы кроме безопасности имеет и другие достоинства. По его словам «Тот же самый принцип выделения и защиты части системы от атак можно использовать, чтобы защитить программное обеспечение от ошибок в самой программе».
Компоненты первой необходимости
ОСРВ должна не только поддерживать и пользоваться этими технологическими новшествами, но и обеспечивать средства передачи и защиты информации. Дей сразу перечислил несколько компонентов, которые абсолютно обязательны в системе реального времени. Во-первых, должен быть какой-то протокол взаимодействия приложений, чтобы какое-либо из них, запустив множество потоков, не нарушило работу остальных.
«Большинству многопоточных приложений требуется средства общения различных задач: очереди, семафоры, мьютексы. Последнее особенно необходимо для приложений, в которых нельзя допустить инверсии приоритета, т.е. недопустима ситуация, когда задача с низким приоритетом препятствует работе остальных, жизненно важных для системы функций», — говорит Дей.
Для автоматизации промышленных приложений, по словам Дея, необходим тактовый генератор с постоянной частотой и средства выделения времени и пространства. Первое требование означает, что тактовые импульсы следуют с одинаковым интервалом, а второе обеспечивает постоянство временного окна для первоочередных задач.
В задачах автоматизации приложений и приборов существуют свои средства и протоколы связи. Иногда поставленные требования уже выполняются в других стандартах, например IPv4 и IPv6, и специализированный протокол не требуется. Однако они всегда полезны, а иногда даже необходимы. К таким специализированным протоколам относятся CAN (асинхронная последовательная коммуникационная шина), OPC (OLE для управления процессами), DCOM (объектная модель распределённых компонент), промышленная беспроводная локальная сеть, Profinet или другой промышленный Ethernet протокол и сетевые службы под управлением XML и SOAP (это основа набора сетевых служб, обеспечивающих базовую функциональность для обмена сообщениями, на ней основаны следующие абстрактные уровни). Также появляются новые технологии и стандарты, например, ZigBee в области беспроводной связи, все они могут входить в комплект средств ОСРВ.
У Марка Гамильтона (Mark Hamilton), разработчика в компании-производителе связующего ПО Real-Time Innovations (г. Санта-Клара, Калифорния) накоплен большой опыт по созданию и внедрению систем реального времени для информационных и военных задач. Огромный список протоколов и других функций — это, конечно, здорово, но он предупреждает, что у каждой ОСРВ есть свой предел.
При внедрении все большего числа компонент всегда появляется точка, начиная с которой планировщик не может корректно управлять работой всех потоков системы. Детерминизм нарушается. Операционная система реального времени превращается в обычный офисный компьютер.
Не удивительно, что он обратил внимание на тот факт, что ПО его компании может помочь избежать этих проблем за счет управления взаимодействием различных приложений. В частности, это позволит ОСРВ выгружать некоторые компоненты, и требования системы не превысят возможностей планировщика. Еще одно достоинство связующего программного обеспечения — существование готовых решений множества типичных задач.
«Связующее программное обеспечение гарантирует очень эффективную передачу данных между различными процессорами системы, так, что вам не нужно беспокоиться и программировать сетевое общение» — утверждает Гамильтон.
Кроме ограничений планировщика есть и другие причины такого выделения и отключения компонент. Встроенная ОСРВ обычно работает в таких условиях, когда оперативная и дисковая память ограничены. Одновременно с ростом функциональности требования к занимаемому объему должны оставаться достаточно низкими.
Чтобы удовлетворить эти требования, производители ОСРВ предпринимают серьезные шаги. Один из методов — оставить конечное решение за потребителем. Итоговая конфигурация системы определяется на стадии сборки, есть возможность добавить или удалить компоненты. Экономия ресурсов при таком подходе может быть весьма значительной.
Например, во время разработки и тестирования может потребоваться вывод контрольной информации во множестве этапов работы системы. После завершения тестирования эта информация будет лишней и, убрав ее, можно сэкономить иногда десятки процентов занимаемых ресурсов.
Разумеется, отдельные модули должны быть очень небольшими, только в этом случае итоговая система получится достаточно компактной. Еще один метод решения проблемы ограниченных ресурсов — грамотный выбор языка программирования и компилятора. Ошибка может значительно сказаться на размере приложения. В Lab VIEW компании National Instruments, например, есть возможность разработать, интегрировать и повторно использовать существующий код, а потом загрузить разработанную функциональность реального времени на различные носители.
Как показывает взаимодействие между ОСРВ и приложениями, какие бы шаги не были предприняты для удовлетворения поставленных требований, всегда потребуется создание прослойки между ОСРВ, приложением, аппаратными и программными средствами. По образному выражению Тодда Брайена (Todd Brian), менеджера по маркетингу продукции Nucleus Kernals в корпорации-разработчике автоматизированного электронного оборудования Mentor Graphics (г. Вильсонвилль, Орегон). Разработчик операционной системы реального времени не изолирован на острове. Его работа направляется всеми окружающими, это необходимо для повышения производительности любой встроенной ОСРВ. «Требуются партнеры, продукция которых будет интегрирована в ОСРВ. В этом случае им не потребуется заботиться об интеграции», — утверждает Брайен.
От такого взаимодействия выиграют и производители ОСРВ, и ее пользователи, по этому критерию можно выбирать производителя ОСРВ. «Сложность разработки приборов растет такими темпами, что недостаточно просто предоставить программное обеспечение. Оно должно быть интегрировано в систему, пользователь не должен этим заниматься», — говорит Брайен.