Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
[Надежность] / НКДЕ 10 ЛЕКЦИИ-rus_edit.doc
Скачиваний:
204
Добавлен:
07.02.2016
Размер:
2.72 Mб
Скачать

8.7.3 Диагностика многопроцессорных систем

В многопроцессорных системах диагностирование организовано с помощью централизованного ядра, которое может быть распределенным, плавающим, или жестким. Возможны комбинированные способы организации.

Под ядром понимается совокупность аппаратно-программных средств, являющихся исправными и обеспечивающих контроль и диагностику системы.

Плавающее ядро может иметь непостоянный состав.

Централизованное ядро организуется на одном проверенном компьютере.

В распределенное ядро может входить любая машина системы.

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

Один сервисный процессор обслуживает, обычно, несколько основных процессоров.

Сети с распределенным плавающим ядром используют многопроцессорные системы, где производится взаимное тестирование процессоров.

9 Надежность программного обеспечения

Надежность вычислительных систем следует рассматривать совместно с надежностью программного обеспечения как единую систему. Выполнение задач системы в одинаковой степени зависит от надежной работы аппаратных средств и надежной работы программных средств.

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

Механизмы возникновения отказа в аппаратуре и в программном обеспечении различны.

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

-несанкционированные воздействия аппаратных средств вносят изменения в работу программы;

-неправильные действия оператора;

-некорректность программы.

При идеальных условиях нормальной работы аппаратуры, и правильных действиях оператора, первые два случая отказов можно исключить.

Отказ ПО, обусловленный несоответствием программного обеспечения, поставленным задачам, представляет наибольший интерес.

Несоответствие может возникнуть по двум причинам:

- разработчик программы нарушил спецификацию - технические требования ПО;

- составленная спецификация не отражает действительные требования задачи.

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

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

Кроме того, ни при проверке программы, ни в технических требованиях часто просто невозможно оговорить и проверить все ситуации, которыевозникают при работе программы. Например, если программа имеет всего 10 переменных, каждая из которых приобретает различных значений,общее число комбинаций входных воздействий будет равно 1030.

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

Таким образом, программы по степени соответствия точности спецификации можно классифицировать:

-программы, функции которых полностью определяются спецификацией;

-программы, функции которых корректируются по результатам вычислений (моделирования, испытания);

-программы, действующие в постоянно изменяющейся вычислительной среде (операционные системы, управление ресурсами и др.).

Корректность программы - это соответствие ее техническим условиям (ТУ).

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

-отказ или уход программы с нормального цикла работы в область непредсказуемых действий;

-наоборот, некорректная программа по стечению обстоятельств работает надежно.

Характерная особенность отказов - скрытость ошибок, т.к. они проявляются только при отдельных, редких комбинациях и поэтому, обнаруживается не сразу.

Пример скрытой ошибки.Пусть вычисляется функция

у = (a*sinx) / x+b при | х | < . Пример содержит скрытую ошибку. При b=0 и х=0 -неопределенность.

Теория надежности аппаратуры частично применима к проблеме надежности программного обеспечения при учете различий:

-программное обеспечение не имеет стареющих элементов из-за износа или усталости;

-больше способов контроля и путей их организации;

-больше объектов для контроля;

-меньше стандартных элементов, чем в аппаратуре;

-количество программной документации по объему больше, чем в аппаратуре;

- внести изменение в программу относительно просто, но будет ли оно корректно - вопрос.

Соседние файлы в папке [Надежность]