При создании системы исходят из того, что всегда имеется какой-то набор конструктивных компонентов (технических средств и программного обеспечения). В общем случае можно считать, что система оказывается неисправной в результате отказа какого-то конструктивного компонента. Поэтому для обеспечения устойчивости при отказах активно используется избыточность как технического, так и программного обеспечения, а также временная избыточность.
Известны различные формы введения избыточности на этапе проектирования технического обеспечения: сравнительно простая многократная избыточность конструктивных компонентов, способ мажоритации, коды с исправлением/обнаружением ошибок и другие. С точки зрения уровня введения избыточности различают уровни: элемента схемы, функционального блока, системы и другие. Если в 50-е годы избыточность проектировалась на уровне отдельных компонентов (например, схема с большим числом последовательно-параллельных соединений диодов рассматривалась как один диод), то в настоящее время в связи с прогрессом БИС в большинстве случаев избыточность закладывается на уровне функциональных модулей.
Все программы, за исключением минимально необходимых для целевой обработки, можно рассматривать как избыточное программное обеспечение. Последнее включает программы специального применения и программы управления системой в целом. Например, программа audit электронного коммутатора предназначена для проверки различных таблиц, а также параметров на непротиворечивость значений последних и представляет собой пример специальной программы. К последним также относятся программы восстановления, версии N и другие. Из управляющих программ можно отметить программы обработки OS в особых ситуациях диагностирования и статистической обработки отказов и другие.
Если отказ обнаруживается в процессе передачи данных между устройствами ввода-вывода, то в большинстве случаев ограничиваются повторной пересылкой данных, считая, что произошел сбой. Кроме того, при перестройке системы в аномальных ситуациях представляется целесообразным запоминать содержимое памяти и регистров системы во внешнем запоминающем устройстве. Если не предполагать устойчивость к отказам, то время, требуемое для такого запоминания, не очень важно, и его можно считать избыточным. Таким же будет й время, необходимое для кодирования и декодирования данных.
|