Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Обработка сбоев аппаратуры






 

Улучшая общую надежность системы, следует заботиться не только об ошибках в программном обеспечении (хотя надежность программного обеспечения требует наибольшего внимания). Другая сторона, о которой необходимо подумать, — это ошиб­ки во входных данных системы (ошибки пользователя).

Наконец, еще один интересующий нас класс ошибок — сбои аппаратуры. Во многих случаях они обрабатываются самой ап­паратурой за счет использования кодов, исправляющих ошибки, исправления последствий сбоев (например, переключением на запасные компоненты) и средств, обеспечивающих устойчивость к ошибкам (например, голосование). Некоторые сбои, однако, нельзя обработать только аппаратными средствами, они требу­ют помощи со стороны программного обеспечения. Ниже приводится список возможностей, которые часто бывают необходи-мы в программных системах для борьбы со сбоями аппаратуры.

1. Повторное выполнение операций. Многие сбои аппаратуры не постоянны (например, скачки напряжения, шум в телекомму­никационных линиях, колебания при механическом движении). Всегда имеет смысл попытаться выполнить операцию, искажен­ную сбоем (например, команду машины или операцию ввода-вывода), несколько раз, прежде чем принимать другие меры.

2. Восстановление памяти. Если обнаруженный случайный сбой аппаратуры вызывает искажение области основной памяти и эта область содержит статические данные (например, команды объек­тной программы), то последствия сбоя можно ликвидировать, повторно загрузив эту область памяти.

3. Динамическое изменение конфигурации. Если аппаратная подсистема, такая, как процессор, канал ввода-вывода, блок ос­новной памяти или устройство ввода-вывода, выходит из строя, работоспособность системы можно сохранить, динамически ис­ключая неисправное устройство из набора ресурсов системы.

4. Восстановление файлов. Системы управления базами дан­ных обычно обеспечивают избыточность данных, сохраняя ко­пию текущего состояния базы данных на выделенных устройствах ввода-вывода, регистрируя все изменения базы данных или пери­одически автономно копируя всю базу данных. Поэтому програм­мы восстановления могут воссоздать базу данных в случае катас­трофического сбоя ввода-вывода.

5. Контрольная точка/рестарт. Контрольная точка — это периодически обновляемая копия состояния прикладной програм­мы или всей системы. Если происходит отказ аппаратуры, такой, как ошибка ввода-вывода, сбой памяти или питания, программа может быть запущена повторно с последней контрольной точки.

6. Предупреждение отказов питания. Некоторые вычислитель­ные системы, особенно те, в которых используется энергозависи­мая память, предусматривают прерывание, предупреждающее программу о предстоящем отказе питания. Это дает возможность организовать контрольную точку или перенести жизненно важ­ные данные во вторичную память.

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

Из рассмотренных выше трех подгрупп методов обеспечения устойчивости к ошибкам только третья, изоляция ошибок, при­менима для большинства систем программного обеспечения.

Важное обстоятельство, касающееся всех четырех подходов, состоит в том, что обнаружение, исправление ошибок и устойчи­вость к ошибкам в некотором отношении противоположны ме­тодам предупреждения ошибок. В частности, обнаружение, ис­правление и устойчивость требуют дополнительных функций от самого программного обеспечения. Тем самым не только увели­чивается сложность готовой системы, но и появляется возмож­ность внести новые ошибки при реализации этих функций. Как правило, все рассматриваемые методы предупреждения и многие методы обнаружения ошибок применимы к любому программ­ному проекту. Методы исправления ошибок и обеспечения ус­тойчивости применяются не очень широко. Это, однако, зависит от области приложения. Если рассматривается, скажем, система реального времени, то ясно, что она должна сохранить работос­пособность и при наличии ошибок, а тогда могут оказаться же­лательными и методы исправления и обеспечения устойчивости. К системам такого типа относятся телефонные переключатель­ные системы, системы управления технологическими процесса­ми, аэрокосмические и авиационные диспетчерские системы и операционные системы широкого назначения [51].

 

 






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.