ЖУРНАЛ СТА 3/2009

Операционная система жёсткого ре- ального времени QNX Neutrino (извест- ная также как QNX 6) изначально пред- назначена для управления критичными системами, то есть такими системами, сбой которых может привести к круп- ному материальному ущербу или даже к человеческим жертвам. Столь ответ- ственная область применения требует не просто высокого качества программи- рования, но и принятия мер «глубоко эшелонированного» обеспечения на- дёжности автоматизированных систем (АС). Для поддержки таких мер в QNX Neutrino наряду с микроядерной архи- тектурой с полной изоляцией модулей в ОЗУ предусмотрен ряд механизмов, ос- новными из которых являются: ● механизм адаптивного квотирования ресурсов ЦПУ и ОЗУ, ● механизм обеспечения «горячей» за- мены сервисов, ● технология быстрой активизации устройств, ● механизм формирования распреде- лённой вычислительной среды, ● механизм поддержки резервирования физических каналов связи в кластере, ● механизм обеспечения балансировки нагрузки на сервисы, ● технология автоматического восста- новления процессов, ● технология автоматизации восстанов- ления логических соединений. В этой статье мы кратко охарактери- зуем каждый из перечисленных меха- низмов QNX Neutrino. М ИКРОЯДЕРНАЯ АРХИТЕКТУРА С ПОЛНОЙ ИЗОЛЯЦИЕЙ МОДУЛЕЙ В ОЗУ Операционная система QNX Neutrino имеет микроядерную архитектуру. Это значит, что в изолированных адресных пространствах с полной изоляцией от адресных пространств других процес- сов выполняются не только приклад- ные процессы, но и большинство си- стемных сервисов, которые в тради- ционных операционных системах предоставляются непосредственно яд- ром. Микроядро является всего лишь коммутирующим элементом, позво- ляющим системным и прикладным процессам общаться друг с другом. Программы, реализующие системные сервисы, с точки зрения микроядра яв- ляются обычными прикладными про- цессами со всеми вытекающими по- следствиями. Любое добавление или удаление программных компонентов (драйверы устройств, файловые си- стемы, сетевые стеки и т.п.) никоим об- разом не влияет ни на размер ядра, ни на его контрольную сумму, ни на его работоспособность. Такая архитектура позволяет разра- ботчику АС самому решить, какие си- стемные сервисы нужны для решения его прикладной задачи, и создать свою собственную конфигурацию опера- ционной системы весьма небольшого размера. По сути дела, разработчик АС может написать и сертифицировать собственный драйвер или системный сервис и включить его в систему без по- мощи и ведома разработчика ОС, не ухудшив при этом характеристик жёст- кого реального времени ОС. Микроядро QNX Neutrino отвечает за реализацию всех механизмов поддержки жёсткого реального времени ОС РВ QNX Neutrino: ● фиксированные приоритеты потоков (256 уровней) и ISR (пожалуйста, не путайте приоритеты с nice-числами, используемыми в ОС общего назначе- ния, например Linux); ● мгновенное вытеснение задачи с меньшим приоритетом; ● вытесняемые системные вызовы (!) и даже ISR (!!); ● защита от инверсии приоритетов на базе протокола наследования приори- тетов (Priority Inheritance Protocol); ● исключение непредвиденных расхо- дов ресурсов (например, на свопинг); ● механизм трассировки ядра, позво- ляющий узнать точное время каждой операции. Также микроядро выполняет некото- рые другие функции, например, автома- тически распределяет задачи по всем до- ступным ЦПУ или процессорным ядрам в режиме SMP (симметричный много- процессорный), AMP (асимметричный многопроцессорный) или BMP (можно перевести bound multiprocessing как «ис- ключительная многопроцессорность»). Важно отметить, что механизмы микро- ядра никоим образом не могут быть на- рушены процессами. 86 www.cta.ru CTA 3/2009 ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ СИСТЕМЫ РЕАЛЬНОГО ВРЕМЕНИ Штатныемеханизмы QNXNeutrino для обеспечения отказоустойчивости вычислительных систем жёсткого реального времени Сергей Зыль Надёжность – одна из важнейших характеристик промышленных систем управления. В статье представлен обзор базовых механизмов ОС РВQNXNeutrino, позволяющих системным интеграторам и разработчикам АСУ ТП создавать распределённые вычислительные комплексы с заданным уровнем отказоустойчивости. © СТА-ПРЕСС

RkJQdWJsaXNoZXIy MTQ4NjUy