Отказоустойчивость операционных систем
Поможем в ✍️ написании учебной работы
Поможем с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой

Современным операционным системам необходимо решать большое количество сложных и комплексных задач. Вместе со сложностью и размерами системы резко повышается её ненадежность из-за возрастающих факторов, способных привести систему к отказу. Согласно проводимым исследованиям надежности ПО, на каждую 1000 строк кода приходится от 6 до 16-ти ошибок, при этом размеры современной ОС составляют более 10 миллионов строк кода . Текущая ситуация такова, что в самых передовых операционных системах применяются неэффективные архитектурные решения, которые, ввиду своей специфики, не способны в полной мере обеспечить высокий уровень отказоустойчивости. Единовременное сочетание и удовлетворение всех требований с высоким уровнем обеспечения отказоустойчивости, информационной безопасности и быстродействия является сложной исследовательской и практической проблемой. Проблема повышения эффективности работы механизмов отказоустойчивости является предметом исследования настоящей работы.

Рис 1. Монолитная и микроядерная архитектуры.

Наиболее распространенными архитектурами ОС являются монолитная и микроядерная (см. рис. 1). Достоинствами монолитной архитектуры является широкое распространение в среде ОС, а также высокое быстродействие. Главным недостатком является отсутствие разбиения функциональности, соответствующее требованиям отказоустойчивости. Практически любая ошибка в ядре системы приводит к отказу в работе всей системы. Одним из достоинств микроядерной архитектуры является более высокая отказоустойчивость в сравнении с монолитной, обеспечивающейся за счет переноса основных подсистемы на уровень системных процессов. Основным недостатком микроядерной архитектуры является значительно низкое быстродействие в сравнении с монолитной, обусловленное затратным временем ожидания переключения контекстов защиты и выполнения, а также временем обработки запросов между процессами. Проблема механизма обеспечения отказоустойчивости в микроядерной и монолитной архитектуре состоит в том, что процесс обработки отказов сводится к простому перезапуску, при этом, как правило, завершившийся аварийно процесс теряет своё актуальное состояние и текущие данные.

Рис 2. Постановка задачи повышения показателей отказоустойчивости.

Формально задачу повышения показателей отказоустойчивости можно выразить как увеличение размерности множеств локализуемых сбоев L и восстановимых сбоев R, входящих во множество всех возможных сбоев E (см. рис. 2.). Расчет показателей отказоустойчивости системы может быть выполнен в два этапа: На первом этапе проводится расчет множества вероятных ошибок E при динамике роста объемов системы. Рост ошибок N объясняется предположением, что при увеличении размеров системы увеличивается количество ошибок, при этом D является количеством областей изоляции отказов системы:

На втором этапе рассчитывается показатель отказоустойчивости F. Для расчета множества локализуемых сбоев L использовался коэффициент степени локализуемости ошибок L, для расчета множества восстановимых сбоев R использовался коэффициент степени восстановимости локализованных сбоев R. Показатели L и R стремятся к единице в зависимости от объемов изолируемой области. Другими словами, показатели соответствуют примерному объему системы и степени возможности определить и локализовать возможные ошибки и определить восстановимые. То есть, чем проще и меньше функциональная область, тем меньшее количество ошибок должно в ней содержаться. В соответствии с необходимостью повышения отказоустойчивости ОС и на основании проведенного анализа и выявленных недостатков, а также полученного нами ранее опыта проектирования и реализации ОС, была разработана «доменная» архитектура ОС (см. рис. 3).

 

Рис. 3. Доменная архитектура ОС.

Основное отличие доменной архитектуры от монолитной и микроядерной состоит в том, что традиционная организация ядра ОС значительно видоизменяется в пользу более глубокой декомпозиции. При этом аналогия ядра системы, как обработчика запросов приложений, переносится на так называемые доменные объекты. В системе может быть определено любое множество доменных объектов, каждый из которых отвечает за обработку запросов к дочерним объектам, в т.ч. и доменным. В свою очередь, для функционирования доменной ОС необходима специализированная среда выполнения (виртуальная машина). Рассмотрим частный пример обеспечения отказоустойчивости за счет дублирования (см. рис. 4): (1) Объект g обращается к объекту n. (2) Среда выполнения располагает информацией, что объект n ассоциирован с доменным объектом X, поэтому переводит управление на него. Доменному объекту X сообщается, кто совершил вызов, объект вызова, тип вызова или операции, и аргументы вызова. (3) На основе этих данных доменной объекта X передает управление в вызываемый объект n. (4) После обработки запроса объекта n значение возвращается обратно через доменной объект X в объект g. (5) Если происходит сбой в объекте n, то об этом сообщается его доменному объекту X путем передачи необработанного исключения.

Рис. 4. Обеспечение отказоустойчивости за счет дублирования

Далее доменной объект производит восстановительные действия, учитывая характер ошибки. Далее, оперируя со своей структурой маршрутизации, устанавливает, что все дальнейшие вызовы к объекту n должны переадресовываться его дублеру – объекту p. Описанный способ позволяет реализовать общие принципы обработки событий, связанных с отказами и сбоями. Для предварительной оценки показателей отказоустойчивости системных архитектур было проведено экспериментальное моделирование. Исходные данные и результаты моделирования представлены в таблице 1.

Таблица 1 Исходные данные и результаты моделирования отказоустойчивости

 

 

На графике представлено сравнение степени отказоустойчивости систем (см. рис. 5).

Рис. 5. Сравнение показателя отказоустойчивости F

На основе полученных результатов экспериментов можно сделать вывод, что доменная система при количестве доменных уровней: 1. D = 1, соответствует отказоустойчивости микро ядерной системы. 2. D > 1 способна уменьшить примерно в N раз множество вероятных ошибок по сравнению с микро ядерной системой и, соответственно, получить значение показателя отказоустойчивости, который будет стремиться к единице (к полному покрытию сбоев). Что дает возможность значительно повысить отказоустойчивость в сравнении с другими архитектурными подходами.

 

 

Заключение

Система может называться отказоустойчивой только в том случае, если ни один из ее компонентов не может привести к нарушению работоспособности системы в целом. Операционная система является важнейшим программным компонентом любой вычислительной машины, поэтому от уровня реализации политики безопасности в каждой конкретной операционной системе во многом зависит и общая безопасность информационной системы.

 

Список литературы

1. http://www.e-biblio.ru/xbook/new/xbook330/book/part-008/page.htm

2. Симоненко Д.Н. Концепция единой отказоустойчивой среды выполнения 2013г.

3. https://studfiles.net/preview/5901388/page:7/

4. Внутреннее устройство Microsoft Windows М. Руссинович, Д. Соломон 2016 г.

5. http://rykovodstvo.ru/exspl/123669/index.html?page=17

        

 

 

Дата: 2019-05-28, просмотров: 262.