29. N-версионное программирование. Понятие диверситета программного обеспечения и методы его достижения. Целью n-версионного программирования является обнаружение оставшихся ошибок проектирования программного обеспечения и отказов аппаратных средств с целью предотвращения опасных отказов. N-версионное программирование предусматривает n-разовую реализацию данной программы различными способами. Эффективность данного метода определяется прежде всего степенью непохожести программных компонент (диверситетом), сводящих к минимуму появление одинаковой реакции при нарушении работы технических средств или наличии программных ошибок. Диверситет программ может быть достигнут: · созданием версий программы разными программистами или коллективами программистов; · использованием упрощенной модели программы в качестве другой версии; · использованием разных методов логической организации программ; · использованием различных версий языков или разных версий компиляторов с одного и того же языка. Результаты работы различных версий программ сравниваются. При различии результатов фиксируется ошибка. Сравнение может быть организовано аппаратно или программно. В последнем случае для корректного сравнения результатов работы вариантов программ могут использоваться самопроверяемые программы. Данный подход позволяет контролировать как состояние технических средств, так и наличие программных ошибок. К недостаткам можно отнести значительное увеличение объектного кода программы и затрат на разработку. |
30.1. Исправление ошибок и устойчивость к ошибкам. Защищенное программирование. пытаться исправить ошибку в программном обеспечении без участия человека невозможно. Самое большее, что можно сделать в этом случае – обеспечить устойчивость ПО к ошибкам и определить безопасное поведение при отказах и сбоях технических средств для того, чтобы свести нанесенный ошибкой ущерб к минимуму. Основными методами исправления ошибок и обеспечения устойчивости к ошибкам являются: использование отказоустойчивого кодирования информации, защищенное программирование, локализация отказов в рамках некоторой части ПО, безопасное поведение при отказах. Использование отказоустойчивого кодирования ответственной информации, хранящейся в ячейках памяти и регистрах, позволяет при возникновении отказов технических средств не только обнаружить искажение информации, но и восстановить ее первоначальное значение. Целью защищенного программирования является получение программ, которые обнаруживают ошибки, проявляющиеся в аномальных передачах управления, передачах данных, разрушении части объектного кода, и реагируют на них заранее определенным образом. При реализации защищенного программирования можно выделить несколько технических приемов: а) уменьшение разрушающего влияния ошибок на программу. Эти методы основаны на: · детальном анализе команд конкретной вычислительной системы с целью прогнозирования поведения системы при возможной их модификации из-за возникновения неисправностей аппаратных средств; · ограничении использования команд определенного типа; · введении в структуру программы команд, выполняющих функции компенсаторов, пассивных с алгоритмической точки зрения, но активных с точки зрения контроля; |
32.1 Одноканальные структуры: одноканальная система с одной программой и средствами внутреннего контроля и самотестирования; одноканальная система с диверситетными программами. Одноканальная система с одной программой может быть применена при организации достаточно полной проверки вычислительного канала с помощью самопроверяемых средств внутреннего контроля (ССВК) и наличии (рисунок 1) безопасных выходных схем (БВС) для включения управляемых объектов (УО). Задачей самопроверяемой схемы внутреннего контроля является обнаружение неисправностей заданного класса в вычислительном канале и собственных неисправностей. При возникновении отказа ССВК формирует сигнал Y, с помощью которого система может быть переведена в защитное состояние по входу Æ (например, отключено питание) и (или) выходы микроЭВМ Z отключаются от управляемых объектов УО с помощью БВС. Безопасность данной структуры зависит от эффективности способа самопроверки. Обязательно должна присутствовать временная и информационная избыточность. Временная избыточность обеспечивается тестированием вычислительного канала. Тестовые программы должны выполняться перед каждым формированием управляющего воздействия и обеспечивать обнаружение всех одиночных отказов аппаратных средств. Информационная избыточность реализуется кодированием информации, циркулирующей в системе и хранящейся в памяти, помехоустойчивыми кодами. Целесообразно применение самопроверяемого программного обеспечения. Достоинством данной структуры является простота технической реализации |
||||
31. Требования к структурным методам обеспечения безопасности МИУС. Аппаратная и программная избыточность. Основные структуры безопасных МИУС. Структурные методы обеспечения безопасности являются наиболее распространенными и базируются аппаратном и (или) программном резервировании элементов системы микропроцессорной централизации. Структурные методы резервирования и контроля в МИУС, отвечающих требованиям безопасности, должны обеспечивать: – независимость отказов в однотипных элементах функционально избыточных структур; – защиту системы от сбоев и отказов, исключение возможности накопления отказов; – контроль правильности функционирования программного обеспечения. Всем этим требованием удовлетворяют следующие основные типы безопасных структур МИУС, используемые при построении систем управления ответственными технологическими процессами. Основные структуры безопасных МИУС: Одноканальные структуры: одноканальная система с одной программой и средствами внутреннего контроля и самотестирования; одноканальная система с диверситетными программами. Двухканальные структуры: дублированная система со слабыми связями; дублированная система с умеренными связями; дублированная система с силь |
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.