Преимущества программных методов обеспечения высокой готовности
К традиционным механизмам обнаружения программных сбоев относятся:
Описанные выше подходы позволяют относительно успешно обнаруживать программные сбои, однако реакция на них (особенно если сбои происходят в нескольких независимых друг от друга программных компонентах) радикальна — перезагрузка системы.
Одной из главных причин невозможности деликатного послеаварийного восстановления традиционных встраиваемых систем реального времени является их монолитная архитектура. В основе большинства из них лежит исполняемый модуль реального времени — образ в памяти, который включает в себя саму ОСРВ и, как правило, многочисленные задачи.
Поскольку все задачи (в том числе критически важные системные службы) работают в едином адресном пространстве, нарушение выполнения одной задачи создает риск общесистемного сбоя. Например, неполадки в драйвере устройства могут вывести из строя всю ОСРВ. В терминах высокой готовности это означает, что каждый программный компонент является единой точкой отказа (англ. Single Point Of Failure, SPOF).
Единственным эффективным механизмом восстановления такой системы является ее перезагрузка и возобновление работы «с нуля».
Планирование и реализация средств послеаварийного восстановления систем реального времени с монолитной архитектурой практически лишены гибкости, максимально просты (перезагрузка системы) и сопряжены с очень высокими издержками из-за простоев, проведения восстановительных мероприятий и т.д. Для перезагрузки и полного восстановления работоспособности некоторых встраиваемых систем в полевых условиях требуется выполнять специальную длительную процедуру.
Для эффективного послеаварийного восстановления следует применять модульный подход. В процессе проектирования и реализации систем архитекторы часто разбивают их на модули. Желательно придерживаться модульного принципа не только при проектировании, но и при послеаварийном восстановлении: для устранения сбоя должно быть достаточно перезагрузить только неисправный модуль, а не систему в целом. Другими словами, модуль не должен являться единой точкой отказа (SPOF).
Модульный подход также кардинально уменьшает среднее время восстановления системы (англ. Mean Time To Repair, MTTR), поскольку перезагрузка всей системы выполняется на порядок дольше возобновления одной задачи.
Именно микроядро ЗОСРВ «Нейтрино» позволяет восстанавливать работоспособность системы на уровне конкретных задач. Архитектура ОС обеспечивает настолько широкий спектр возможностей для создания систем высокой готовности, что многие пользователи воспринимают их естественно и с легкостью разрабатывают функции послеаварийного восстановления с их помощью.
Далее мы кратко рассмотрим основные из этих возможностей и их применение в проектировании и разработке эффективных систем высокой готовности.
Архитектура ЗОСРВ «Нейтрино» обладает тремя ключевыми атрибутами, которые позволяют применять ее в разработке систем высокой готовности:
Перечисленные основные атрибуты позволяют применять ЗОСРВ «Нейтрино» в качестве платформы для проектирования систем высокой готовности.
Предыдущий раздел: Менеджер высокой готовности (HAM)