Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
labex.doc
Скачиваний:
3
Добавлен:
19.11.2019
Размер:
4.14 Mб
Скачать

4.12.Оборудование Персональный компьютер at386 и выше, содержащий накопитель гмд 3.5''; компилятор языка c, чистые дискеты.

4.13.Задание на работу

1) Ознакомиться с теоретическими сведениями, приведенными во втором разделе и ответить на контрольные вопросы.

2) В соответствии с вариантом задания, выданным преподавателем, разработать программу, реализующую тестирование исправности накопителя ГМД и поверхности носителя информации. Оформить отчет.

Варианты заданий:

1) Тестирование исправности датчика нулевой дорожки с использованием команд рекалибровки и позиционирования блока головок на нулевую дорожку.

2) Тестирование исправности шагового двигателя с использованием команд пошагового перемещения блока головок.

3) Тестирование исправности блока головок и поверхности носителя с использованием команд чтения записи и чтения произвольного сектора.

4) Тестирование исправности датчика защиты дискеты от записи.

5) Тестирование исправности датчика смены носителя.

4.14.Оформление отчета

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

4.15.Контрольные вопросы

  1. Приведите основные типы и конструкции дисковых накопителей.

  2. Опишите конструкцию и принцип действия накопителя ГМД.

  3. Какие сигналы входят в состав интерфейса НГМД?

  4. Какие датчики входят в состав НГМД? Каковы симптомы их отказов?

5) Каковы характерные неисправности НГМД? Как их устранить?

  1. Какие прерывания BIOS и DOS предназначены для работы с НГМД?

  2. Какие вы знаете функции ОС для работы с дисковыми накопителями?

  3. Каков порядок выполнения команд контроллером дисковода?

ЛАБОРАТОРНАЯ РАБОТА №7

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

4.16.Цель и задачи работы

Получить навыки практического использования численной оценки надежности программного обеспечения (ПО) ЭВМ и сложных программных комплексов.

7.2 Основные теоретические положения

Характеристики надежности

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

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

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

Отказ программы – это недопустимое отклонение характеристик процесса функционирования программы от требуемых. Определенные условия внешней среды – это совокупность входных данных и состояния вычислительной системы.

Заданный период наблюдения обычно соответствует необходимому числу прогонов программы для решения задачи.

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

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

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

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

Причины отказов ПО:

  • Ошибки, скрытые в самой программе.

  • Искажение входной информации, подлежащей обработке.

  • Неверные действия пользователя (могут быть связаны с некорректной документацией).

  • Неисправность аппаратуры, на которой реализуется вычислительный процесс.

Последствия и признаки появления ошибок в программе.

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

Симптомы проявления ошибки в программе:

  • преждевременное окончание программы;

  • увеличение времени выполнения программы (зацикливание);

  • потери или искажение накопленных данных;

  • нарушение порядка вызова отдельных программ.

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

Аналитические модели надежности программ

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

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

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

Для ПО характерно ступенчатое изменение . Поэтому наиболее простая модель надежности ПО – это дискретная модель:

- постоянная, характеризующая начальное число ошибок;

i(t) – число отказов, устраняемое в момент времени t;

- эмпирический коэффициент, зависящий от характеристик системы.

Эти параметры можно найти на основании последовательности наблюдений интервалов между обнаружением ошибок по методу максимального правдоподобия.

Если i(t) постоянна - получаем простую линейную модель.

Рассматриваемая модель является грубой. На практике условия, в которых она работает, не соблюдаются. Например, некоторые ошибки являются неустранимыми.

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

- время наработки на отказ до возникновения m-го отказа;

- математическое ожидание времени между двумя отказами:

.

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

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

m = M(1- exp(-Kτ)), (7.1)

где К – коэффициент пропорциональности;

М – число ошибок, имевшееся перед фазой тестирования.

Рисунок 7.1 Экспоненциальная модель надежности ПО

Пусть среднее время наработки на отказ

.

Если ввести величину - начальное значение средней времени наработки на отказ, то:

, (7.2)

где .

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

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

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

Вероятность отказа равна . Таким образом можно составить матрицу переходных вероятностей:

Для каждого целого k>0 Рk(i, j) будет определять вероятность перехода из состояния i в состояние j за k шагов. Тогда матрица

Будет определять вероятность перехода и одного состояния в другое за произвольное число шагов.

Вычеркнув из матрицы P две последние строки и два последних столбца, соответствующие успеху С и отказу F, получаем матрицу Q.

Пусть . Положив W = I – Q, имеем:

S = W-1 = (I – Q)-1, откуда надежность программного комплекса:

R = S (1,n ) Rn.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]