
- •Размещено на http://www.Allbest.Ru/
- •2. Предмет изучения, цели и задачи, содержание дисциплины
- •3. Краткая история возникновения и развития теории надежности
- •4. Определение понятия надежность
- •2. Основные понятия теории надежности
- •1. Характер изменения выходного параметра объекта до момента возникновения отказа. По этому признаку различают следующие виды отказов:
- •3. Показатели надежности невосстанавливаемых и восстанавливаемых объектов
- •2. Показатели ремонтопригодности
- •3. Показатели долговечности
- •4. Показатели сохраняемости
- •5. Комплексные показатели надежности
- •2. Модель надежности невосстанавливаемого и восстанавливаемого элемента
- •3. Аналитические методы расчета надежности
- •4. Расчет надежности системы с параллельным соединением элементов
- •3. Задачи определительных испытаний
- •4. Контрольные испытания на надежность
- •2. Обеспечение надежности на всех этапах жизненного цикла объекта
- •9. Основы обеспечения сохранности информации
- •1. Возможные угрозы информации
- •2. Методы, средства и мероприятия по обеспечению сохранности данных
- •2. Факторы, создающие угрозу безопасности функционирования программных средств
- •3. Выбор и обоснование характеристик надежности по
- •2. Методы обеспечения надежности программных средств
- •3. Подход к обеспечению надежности №1 - Предупреждение ошибок
- •4. Подход к обеспечению надежности №2 - Обнаружение и исправление ошибок в программе
- •I. Тестирование для обнаружения ошибок в программе.
- •5. Подход к обеспечению надежности №3 - Обеспечение устойчивости программы к ошибкам
- •2. Классификация вычислительных систем
- •2. Оценка надежности и эффективности информационной системы по уровню обученности специалиста
- •Размещено на Allbest.Ru
5. Подход к обеспечению надежности №3 - Обеспечение устойчивости программы к ошибкам
Самообнаружение ошибки в программе означает, что программа содержит средства обнаружения отказа в процессе ее выполнения.
Самоисправление ошибки в программе означает не только обнаружение отказа в процессе ее выполнения, но и исправление последствий этого отказа, для чего в программе должны иметься соответствующие средства.
Обеспечение устойчивости программы к ошибкам означает, что в программе содержатся средства, позволяющие локализовать область влияния отказа программы, либо уменьшить его неприятные последствия, а иногда предотвратить катастрофические последствия отказа. Однако эти подходы используются весьма редко (может быть, относительно чаще используется обеспечение устойчивости к ошибкам). Связано это, во-первых, с тем, что многие простые методы, используемые в технике в рамках этих подходов, неприменимы в программировании, например, дублирование отдельных блоков и устройств (выполнение двух копий одной и той же программы всегда будет приводить к одинаковому эффекту - правильному или неправильному). А, во-вторых, добавление в программу дополнительных фрагментов приводит к ее усложнению (иногда - значительному), что в какой-то мере мешает методам предупреждения ошибок. В некоторых частных случаях возможны специальные методы, например - метод контрольных функций.
В данном методе наряду с вычисляемой функцией по иной программе определяется другая функция в соотношениях, называемых контрольными соотношениями. Эти соотношения позволяют не только обнаружить отказ одной из программ, но также и восстановить искаженный результат отказавшей программы на основании результата, полученного по безошибочно работающей программе (программам). Простейшим примером применения метода контрольных соотношений является вычисление функции sinx и cosx по отдельным программам. Контрольное соотношение в данном случае будет соотношение sin2x+cos2x=1.
Более сложный вариант исправления ошибок с использованием матрицы Хэмминга.
Чаще всего в качестве методов обеспечения устойчивости используются методы отступления. Когда ПО в случае возникновения ошибки (благопристойно) заканчивает работу, без потери предыдущих результатов (обеспечить безаварийное завершение всех управляемых системой процессов).
Методы изоляции ошибок, используются при проектировании ПО и их суть - не дать последствиям ошибки выйти за пределы как можно меньшей части системы программного обеспечения (то есть отключились бы только определенные функции программы).
Следует отметить, что все эти методы требуют включения дополнительных модулей в само программное обеспечение, что приводит к увеличению сложности системы, а следовательно вероятности возникновения новых ошибок и затрат на их исправление и локализацию.
13. Отказоустойчивые вычислительные системы
1. Термин – отказоустойчивость и связанные с ним понятия
Отказоустойчивость – свойство архитектуры ИС, обеспечивающее выполнение заданных функций в случаях, когда в аппаратных и программных средствах системы возникают отказы.
По способу реализации отказоустойчивость подразделяется на активную и пассивную.
Активная отказоустойчивость базируется на отдельно выделенных процессах обнаружения отказа, локализации отказа и реконфигурации системы. Отказы обнаруживаются средствами контроля, локализуются при помощи средств диагностики и устраняются автоматической реконфигурацией системы . Последняя заключается в перестройке структуры системы таким образом, чтобы ее отказавшие компоненты были устранены от участия в работе.
Пассивная отказоустойчивость заключается в способности системы не потерять свои функциональные свойства в случае отказа отдельных элементов. В таких случаях говорят, что отказ маскируется системой. Пассивная отказоустойчивость связана с увеличением количества аппаратуры в несколько раз; она применяется обычно тогда, когда недопустимы даже кратковременные перерывы в работе ИС, а также для обеспечения отказоустойчивости важнейших блоков или устройств системы.
Применение активной отказоустойчивости характеризуется более экономным расходом аппаратных средств, однако связано с некоторыми потерями времени при восстановлении работы системы после отказа (иногда возможны потери некоторой части данных). Активная отказоустойчивость реализуема только в многопроцессорных системах. В то же время применение пассивной отказоустойчивости гарантирует практически бесперебойную работу ИС и сохранение всей информации. Эти обстоятельства определяют области применения активной и пассивной отказоустойчивости.
В настоящее время для различных типов систем, основным свойством которых является отказоустойчивость, среди них выделяют:
Системы высокой готовности (High Availability). Предполагается, что конфигурация таких систем обеспечивает ее быстрое восстановление после обнаружения неисправности, для чего в ряде мест используются избыточные аппаратные и программные средства. Длительность задержки, в течение которой программа, отдельный компонент или система простаивает, может находиться в диапазоне от нескольких секунд до нескольких часов, но более часто в диапазоне от 2 до 20 минут. Обычно системы высокой готовности хорошо масштабируемы, и более гибкие, чем другие типы избыточности.
Системы, эластичные к отказам (Fault Resiliency). Ключевым моментом в определении эластичности к отказам является более короткое время восстановления, которое позволяет системе быстро откатиться назад после обнаружения неисправности.
Системы, устойчивые к отказам (Fault Tolerance). Такие отказоустойчивые системы имеют в своем составе избыточную аппаратуру для всех функциональных блоков, включая процессоры, источники питания, подсистемы ввода/вывода и подсистемы дисковой памяти. Если соответствующий функциональный блок неправильно функционирует, всегда имеется горячий резерв. Часто избыточные аппаратные средства можно использовать для распараллеливания обычных работ. Время восстановления после обнаружения неисправности для переключения отказавших компонентов на избыточные для таких систем обычно меньше одной секунды.
Системы непрерывной готовности (Continuous Availability). Системы с непрерывной готовностью, устраняют любое время простоя как плановое, так и неплановое. Разработка такой системы охватывает как аппаратные средства, так и программное обеспечение и позволяет проводить модернизацию (upgrade) и обслуживание в режиме on-line. Дополнительным требованием к таким системам является отсутствие деградации в случае отказа. Время восстановления после отказа не превышает одной секунды.
Системы, устойчивые к стихийным бедствиям (Disaster Tolerance) или катастрофоустойчивые системы.. Смысл этого термина в действительности означает возможность рестарта или продолжения операций на другой площадке, если основное месторасположение системы оказывается в нерабочем состоянии из-за наводнения, пожара или землетрясения. В простейшем случае, продукты, устойчивые к стихийным бедствиям, могут просто представлять собой резервные компьютеры, расположенные вне основного местоположения системы, сконфигурированные по спецификациям пользователя и доступные для использования в случае стихийного бедствия на основной площадке. В более сложных случаях устойчивость к стихийным бедствиям может означать полное (зеркальное) дублирование системы вне основного местоположения, позволяющее принять на себя работу немедленно после отказа системы на основной площадке.