Тема 2.1. Приемы надежного программирования

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

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

1. систематический контроль и обнаружение аномалий процесса функционирования или состояния программы и данных.

2. диагностировать обнаруженные искажения.

3. выбирать методы и средства оперативного восстановления.

4. реализовывать оперативное восстановление работоспособности.

5. регистрировать каждый произошедший сбой.

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

Обеспечение надежности путем введения избыточности.

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

Виды избыточности:

1. временная – использование некоторой части производительности ПК для контроля исполнения программы и восстановления вычислительного процесса.

2. информационная – дублирование данных, обрабатываемых ПК.

3. программная – контроль и обеспечение достоверности наиболее важных результатов обработки инф-ции (контрольная сумма).


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: