Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Операционные системы реального времени и технологии разработки кроссплатформенного программного обеспечения. Ч.1. Учебное пособие
.pdf
7.4. Способы обеспечения отказоустойчивости системы
131
ление возможно только для ограниченного множества сбоев, которые удалось ранее обнаружить, проанализировать и выработать методы предупреждения или, на крайний случай, ликвидации последствий.
При возвратном восстановлении производится возврат процесса (или
системы в целом) к их предыдущему состоянию. Этот процесс невозможен
без надежного хранения текущего состояния процессов и самой системы.
Естественно, что на это тратится время и ресурсы, система становится медленнее, появляются дополнительные инструменты. К тому же отсутствует
гарантия того, что сбой повторится и все придется делать сначала.
Для восстановления состояния обычно применяется два метода:
промежуточная фиксация;
ведение журнала.
Следует заметить, что применение любого из этих методов затруд-
няется в случае распределенной системы, так как хранить состояние одного
объекта – это одно, а хранить состояние нескольких взаимодействующих
или работающих параллельно объектов – совсем другое.
Чтобы избежать этих сложностей, сразу создают системы, изначально устойчивые к распространенным типам сбоев и отказов. Такие системы либо нивелируют влияние отказов, либо их попросту маскируют.
Кроме того, подобные системы имеют определенные шаблоны поведения
в критических ситуациях и средства обнаружения сбоев. При возникновении сбоя система уже оказывается готова к ней и запускается процесс ликвидации последствий.
Обеспечение живучести в общем виде – это методика применения
специализированных средств, которая позволяет системе продолжить
правильную работу при возникновении отказа ее аппаратных элементов
или программ с возможностью ограничения снижения качества выполнения задач.
Обеспечение живучести несколько отличается от отказоустойчивости. С отказом не связано качество работы системы, и средства обеспечения живучести позволяют рационально распределять вычислительные ресурсы и повысить среднее время наработки до отказа.
В обеспечение живучести включены три основные функции:
диагностика;
локализация неисправности;

7. Отказоустойчивость операционных систем реального времени
132
перестройка системы.
В основе живучести системы лежит способность к повторению или
к дублированию функционала. Поэтому, например, многопроцессорные
системы или кластеры естественным образом претендуют на положение
отказоустойчивых.
Другим аспектом является применение защитных инструментов си-
стем, позволяющих поддерживать связь между компонентами и восстанавливаться при сбоях, в том числе, отключая узел с нарушениями в работе.
Для любой системы со средствами защиты и восстановления харак-
терны программная, информационная и временная избыточность.
Под временной избыточностью будем понимать выделение части ресурсов и квантов производительности для слежения за системой и получения диагностических данных о ее состоянии. Подсистемы постоянного мониторинга занимают почти столько же ресурсов системы, сколько ее основные компоненты.
Программная избыточность применяется для обеспечения достоверности решений по управлению системы и достоверности обрабатываемой
информации. Она заключается в применении не одной программы для каждой задачи, а целого набора программ, обеспечивающих несколько подходов к ее решению и расположенных сразу на нескольких дублирующих узлах системы. Данный подход также носит название N-версионное программирование.
Для синхронизации работы таких подсистем существуют протоколы
согласования. Они применяются для синхронизаций решения одной и той
же задачи на разных узлах и заключаются, как минимум, в элементарной
проверке сравнением для полученных результатов.
Несовпадение результатов – это основной признак сбоя узла. В результате проверки выбираются результаты работы, полученные одновременно всеми исправными исполнителями.
В настоящее время существует несколько основных способов обеспечения отказоустойчивости работы систем:
фиксация константного отказа или сбоя системы в целом;
обеспечение отказоустойчивости с маскированием сбоев.

7.5. Построение систем с рангом отказоустойчивости
133
Фиксация константного отказа системы сопряжена с последующей
реконфигурацией программ или оборудования, а также с прерыванием работы системы. Данный способ плохо применим в операционных системах
реального времени, так как он нарушает принципы детерминированности
рабочего процесса.
Обеспечение отказоустойчивости системы с маскированием сбоев
работает по принципу мажорирования, т.е. использование 2*n + 1-каналов
и схемы голосования. Схема голосования отбирает данные, прошедшие
проверку на достоверность. Этот способ применяется в системах реального
времени, так как наоборот ведет к детерминированности.
При аппаратной реализации потеря производительности связана с
необходимостью синхронизации процессов в резервированных каналах
связи. Однако здесь также присутствуют потери времени на обмен информацией и на синхронизацию каналов. Кроме того, каждая маскировка сбоя
сопровождается локальной потерей производительности на 30 % в среднем
и увеличением числа связей.
При аппаратном мажорировании ситуация с производительностью
хуже, чем при программном. Увеличение кратности маскируемых сбоев, в
отличие от аппаратного мажорирования, где это можно осуществить путем
организации многократного голосования при прохождении сигналов по системе или соответственно путем введения аппаратной избыточности, невозможно.
Частично озвученная проблема решается внедрением в систему специального детектора сбоев, генерирующего специальные сигналы, перехватываемые остальной системой. При перехвате сигнала обычно производится блокировка дальнейшего прохождения сигналов от некорректно работающего канала с пропусканием на выход сигналов от следующего правильно работающего узла.
7.5. Построение систем с рангом отказоустойчивости
В многопроцессорных системах, которые разрабатываются как отказоустойчивые, “рангом” будем называть максимальное число отказов
функциональных элементов (ФЭ), после которых система продолжает свое
нормальное функционирование. Можно ввести обозначение N(m), которое

7. Отказоустойчивость операционных систем реального времени
134
описывает систему, содержащую N узлов ФЭ и выдерживает m отказов
этих узлов. Система работает стабильно пока остаются рабочими N–m
функциональных элементов.
Следует отметить, что самыми быстродействующими являются си-
стемы N (0), а самыми надежными – N(N–1).
Естественно, что каждый ФЭ имеет в своем составе достаточное ко-
личество аппаратных и программных инструментов для обеспечения
устойчивости и способен работать отдельно от остальной системы, т.е. в
каждом рабочем цикле он выполняет полную обработку входных данных
без участия других ФЭ.
Можно выделить свойства отказоустойчивых систем с ФЭ.
1. Операционная система являет собой совокупность связанных и
надежно функционирующих элементов, обеспечивающих информационное взаимодействие и решение пользовательских и системных задач. При
этом работоспособность каждого ФЭ также обеспечивается благодаря обмену следующей информацией:
результат сравнения информации, поступающей в данных ФЭ;
результат оценки информации, поступившей от других узлов си-
стемы;
результат голосования, т.е. вывод о состоянии других Ф.
2. Внутренняя структура распределенной операционной системы ре-
ального времени представляется в виде иерархии с различными уровнями.
Каждый уровень наследует функциональные возможности предыдущего.
3. Новые конфигурации системы могут появляться путем добавле-
ния новых модулей и ФЭ.
4. Система является открытой, т.е. допускает масштабирование как
по горизонтали (увеличение числа ФЭ одного уровня), так и по вертикали
(наращивание мощности отдельных ФЭ и системы в целом).
5. В системе всегда должен присутствовать запас по времени не ме-
нее 20 % с учетом производительности аппаратной платформы и быстродействия программного обеспечения.
В системе ведется диспетчеризация вычислительного процесса, сво-
дящаяся к следующим процедурам.

7.5. Построение систем с рангом отказоустойчивости
135
1. Синхронизация вычислительных процессов посредством выдачи
управляющих сигналов таймера ведущего узла или узла с высоким приоритетом, на который возложена функция синхронизации.
2. Полная обработка задач в пределах одного выделенного цикла.
3. Использование сторожевого таймера как средства защиты от за-
цикливания или средства выведения процесса из цикла.
4. Разделение процесса работы системы на отдельные периоды:
ввод данных в систему;
решение ФЭ;
обмен функциональными данными;
обмен результатами голосования;
обмен предварительными выводами о состоянии системы;
принятие совместного (консолидированного) решения о текущем
состоянии системы;
реконфигурация системы в случае отказа.
Рассмотрим общую концепцию работы такой системы.
После получения результатов расчета на очередном цикле, система
должна получить информацию о своем состоянии, для чего осуществляется
обмен результатами с остальными ПЭ системы. При этом следует отметить, что обмен результатами счета со всеми узлами ВС в некоторой мере
избыточен, так как для выявления некорректного результата достаточно
двух верных (в предположении об ординарности потока отказов). Таким
образом, протокол голосования может быть построен так, что результаты
счета отдельного ПЭ в ВС троируются, т.е. могут не присутствовать в некоторых отчетах.

7. Отказоустойчивость операционных систем реального времени
136
ЗАКЛЮЧЕНИЕ
Задачи реального времени составляют одну из сложнейших и крайне
важных областей применения вычислительной техники. Как правило, они
связаны с контролем и управлением процессами, являющимися неотъемлемой частью современной жизни. Управление прокатными станами, роботами, движение на автомагистралях, контроль за состоянием окружающей
среды, управление атомными и космическими станциями и многое другое
– область задач реального времени. Эти задачи предъявляют такие требования к аппаратному и программному обеспечению, как надежность, высокая пропускная способность передающей среды в распределенных системах, своевременная реакция на внешние события и т.д. Для выполнения
этих требований и создаются системы реального времени, аппаратное и
программное обеспечение.
Важнейшим свойством систем реального времени является предсказуемость временных реакций системы на внешние события. Только исходя
из этого свойства можно говорить о состоятельности и обоснованности решений, заложенных в конкретной СРВ. И именно в свете временной предсказуемости необходимо рассматривать возможности выбора конкретной
операционной системы под конкретную задачу реального времени.
Также необходимо отметить, что при анализе систем реального времени важным является выбор модели диспетчеризации потоков в рамках
конкретной задачи. Определение метода распределения приоритетов, обоснование диспетчеризации всех потоков жесткого реального времени, все
это является важнейшими действиями при проектировании систем реального времени. Дополнительные сложности создает отсутствие строгих математических методов в оценке диспетчеризации непериодических, динамических потоков.
В связи с этими требованиями выбор операционной системы для реализации конкретной системы жесткого реального времени является ответственным шагом, могущим определить успех или не успех разработки системы в целом.

7.5. Построение систем с рангом отказоустойчивости
137
СПИСОК ЛИТЕРАТУРЫ
1. Таненбаум, Э. Современные операционные системы [Текст] / Э. Та-
ненбаум, Х. Бос. – 4-е изд. – Санкт-Петербург: Питер, 2015. – 1120 с.
2. Зыль, С. Н. Операционные системы реального времени QNX: от тео-
рии к практике [Текст] / С. Н. Зыль. – 2- е изд., перераб. и доп. – СанктПетербург: БХВ-Петербург, 2004. – 192 с.
3. Олифер, Н. А. Сетевые операционные системы [Текст] / Н. А. Олифер,
В. Г. Олифер. –Санкт-Петербург: Питер, Центр информационных технологий, 2002. – 544 с.
4. Ослэндер, Д. М. Управляющие программы для механических систем:
Объектно-ориентированное проектирование систем реального времени [Текст] / Д. М. Ослэндер, Дж. Р. Риджли, Дж. Д. Рингенберг. –
Москва: Бином. Лаборатория знаний, 2004. – 416 с.
5. Бурдонов, И. Б. Операционные системы реального времени [Элек-
тронный ресурс] / И. Б. Бурдонов, А. С. Косачев, В. Н. Пономаренко //
Институт системного программирования им. В. П. Иванникова РАН.
– URL:
6. https://www.ispras.ru/preprints/docs/prep_14_2006.pdf (дата обращения:
20.10.2019).
7. Богачев, К. Ю. Операционные системы реального времени: материалы
лекций [Текст] / К. Ю. Богачев. – Москва: МГУ, 2000. – 100 с.
8. Дорогов, А. Ю. Синхронизация и взаимодействие программных пото-
ков в операционной среде реального времени [Текст]: учебное пособие / А. Ю. Дорогов. – Санкт-Петербург: Изд-во СПбГЭТУ «ЛЭТИ»,
2007. – 64 с.
9. Лисс, А. Р. Программирование в системах реального времени [Текст]:
учеб. пособие / А. Р. Лисс, Г. Ц. Селеджи, С. М. Селеджи. – СанктПетербург: ГЭТУ, 1995. – 79 с.
10. Операционные системы реального времени QNX Neutrino 6.3. Систем-
ная архитектура [Текст]: пер. с англ. / под ред. Е. Кондукова. – СанктПетербург: BHV, 2006. – 336 с.
11. Стивенс, У. UNIX: взаимодействие процессов [Текст] / У. Стивенс. –
Санкт-Петербург: Питер, 2003. – 576 с.

Список литературы
138
12. Хоар, Ч. Взаимодействующие последовательные процессы [Текст] /
Ч. Хоар: пер. с англ. – Москва: Мир, 1989. – 264 с.
13. Сайт компании SWD Software Ltd. – официального дистрибьютора
компании QNX Software Systems Ltd. на территории России и стран
бывшего СССР [Электронный ресурс]. – URL: http://swd.ru (дата обращения: 20.10.2019)
14. Столлингс, В. Операционные системы [Текст] / В Столлингс: пер. с
англ. – 4-е изд. –Москва: Издательский Дом “Вильямс”, 2002. – 848 с.

7. Отказоустойчивость операционных систем реального времени
139
Учебное издание
БЕСПАЛОВ Дмитрий Анатольевич
ГУШАНСКИЙ Сергей Михайлович
КОРОБЕЙНИКОВА Наталия Михайловна
ОПЕРАЦИОННЫЕ СИСТЕМЫ РЕАЛЬНОГО
ВРЕМЕНИ И ТЕХНОЛОГИИ РАЗРАБОТКИ
КРОССПЛАТФОРМЕННОГО ПРОГРАММНОГО
ОБЕСПЕЧЕНИЯ
ЧАСТЬ 1
Учебное пособие
Редакторы:
Т. Ф. Кочергина, Н. И. Селезнева
Корректоры:
Т. Ф. Кочергина, Н. И. Селезнева
Компьютерная верстка
И. А. Клочко
Подписано в печать
Бумага офсетная. Формат 60х84 1/16. Усл. печ. л. 8,69.
Уч.-изд. л. – 8,1. Тираж 40 экз. Заказ №
Издательство Южного федерального университета
Отпечатано в отделе полиграфической, корпоративной и сувенирной продукции
Издательско-полиграфического комплекса КИБИ МЕДИА ЦЕНТРА ЮФУ.
344090, г. Ростов-на-Дону, пр. Стачки, 200/1. Тел. (863) 243-41-66.
Подписано в печать 23.12.2019 г.
Бумага офсетная. Формат 60×84
1
/16. Усл. печ. лист. 8,08.
Уч. изд. л. 6,8. Заказ № 7429. Тираж 30 экз.
Издательство Южного федерального университета.
Отпечатано в отделе полиграфической, корпоративной и сувенирной продукции
Издательско‐полиграфического комплекса КИБИ МЕДИА ЦЕНТРА ЮФУ.
344090, г. Ростов‐на‐Дону, пр. Стачки, 200/1, тел (863) 243‐41‐66.
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
