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