Лекции.Орг


Поиск:




Категории:

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

 

 

 

 


Способы оперативного повышения надежности ПО




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

Для организации программного резервирования [6.7] подготавливаются две или несколько версий решения одной и той же задачи. Желательно, чтобы эти версии значительно отличались друг от друга, т.е. основывались на различных алгоритмах или, по крайней мере, выполнялись разными программистами. Маловероятно, что возможные ошибки различных версий программ совпадут. Далее параллельно или последовательно во времени рассматривают выполнение версий ПО непосредственно в процессе эксплуатации. Если версий программ две, то говорят о дуальном программировании, иначе (при нескольких подготовленных вариантах ПО) выполняется n-версионное программирование.

При дуальном программировании, если обнаруживается расхождение результатов (результаты сравниваются соответствующими аппаратными или программными средствами), необходимо определить по каким-либо дополнительным критериям, какой из результатов правильный и отбросить другой результат. При n -версионном программировании правильный результат выбирается по мажоритарному признаку (см. п. 4).

Программное резервирование требует избыток оборудования или времени для вычислений, если версии ПО выполняются последовательно во времени. Такое программирование целесообразно использовать, если имеет место нагруженное резервирование аппаратуры АСОИУ.

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

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

Существует более экономный способ повышения надежности ПО – метод контрольных функций. При этом методе наряду с вычисляемой функцией по иной программе определяется другая функция, находящаяся с основной функцией в определенных соотношениях. Эти соотношения позволяют не только обнаружить отказ в ПО, но и восстановить искаженный результат. Простейшим примером применения метода контрольных функций является вычисление функций sin x и cos x по отдельным программам. Контрольным соотношением в данном случае будет соотношение sin2 x + cos2 x = 1.

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

 

 





Поделиться с друзьями:


Дата добавления: 2015-05-08; Мы поможем в написании ваших работ!; просмотров: 1291 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Человек, которым вам суждено стать – это только тот человек, которым вы сами решите стать. © Ральф Уолдо Эмерсон
==> читать все изречения...

4050 - | 3884 -


© 2015-2026 lektsii.org - Контакты - Последнее добавление

Ген: 0.012 с.