Снос зданий:
ecosnos.ru
Главная  Микроустройства: номенклатура изделий электронной промышленности 

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 [ 89 ] 90 91 92 93 94 95

Состав средств трассировки. Средства трассировки состоят из трех функциональных компонентов: программы инициализации трассировки; процедуры обработки запросов на трассировку; собственно процедуры трассировки.

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

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

Восстановление команды в точке разрыва

Восстановление регистров

Установка Т-разряда

Выход из прерывания

По команде RTT

V-операция на семафоре защиты

-19-

Восстановление регистров

20- -S.

/ Выход \

V из Прерывания у

Прерывание по Т-разряду

Восстановление команды ВРТ в программе

Сохранение регистров в стеке задачи

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



Алгоритм, реализуемый процедурой трассировки в точках разрыва. Процедура трассировки располагает таблицей установленных точек разрыва. Таблица представлена смежными ячейками, в которых раснолагаются команды, извлеченные из прогзамм пользователя процедурой обработки запросов на трассировку в момент обработки запроса на установку точки разрыва, и абсолютные адреса этих команд. На место извлеченной команды процедурой обработки запросов подставляется команда ВРТ (программное прерывание). На рис. 8.2 показана структурная схема алгоритма, реализуемого процедурой трассировки в точках разрыва.

Прерывания по команде ВРТ обрабатывает процедура трассировки в точках разрыва. Состояние прерванной задачи запоминается и выполняется Р-операция на системном семафоре. Р-опера-ция на семафоре защиты делается для защиты процедуры трассировки, которая является в УП критическим ресурсом. Таким

Нет



Включить ее в список готовых к выполнению

Создание временной задачи трассировки

Вход по вызову из Службы времени

f-2-

Счетчик времени: = счетчик времени-1

В счетчике >0?

Служба времени обрабатывает прерывания от таймера

Выход из процедуры

Начало задачи

по запуску от Диспетчера

-15--

Сбор н подготовка данных для вывода

-16-

IВывод сообщения >

Закрьггь систему прерывания

Сбросять флаг занято



образом, процедура трассировки в некоторый момент времени мот жет обслуживать команду ВРТ только в одной задаче. Остальные задачи блокируются на семафоре защиты. Р-операция на системном семафоре выполняется для синхронизации запросов к драйверу ввода-вывода или к Супервизору ввода-вывода. Чтобы ускорить процесс обработки ВРТ-команды, приоритет текущей задачи повышается (блок 4). Если адрес команды ВРТ не содержится в таблице установленных точек разрыва (блок 6), то процедура трассировки не реагирует на эту команду и обеспечивает выход из прерывания на следующую команду прерванной программы (блоки 16-20). . При этом восстанавливаются состояния регистров, приоритет задачи и освобождаются критические ресурсы (V-операции).

Если адрес команды ВРТ содержится в таблице установлеи-иых точек разрыва (блок 6), то выполняется трассировка (вывод сообщения) и подготовляется выполнение команды, которая была заменена кодом команды ВРТ (блоки 7-11). Выход из прерывания (блок 12) по команде RTT обеспечивает прерывание после выполнения восстановленной команды по Т-разряду. Процедура трассировки получает управление (блок 13)., запоминает состояние прерванной задачи, восстанавливает ВРТ-команду в программе (блоки 14, 15), освобождает критические ресурсы и возвращает управление следующей команде прерванной задачи (блоки 16-20).

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

Выполнить Рч)11ерацию на системном семафоре

Включнть задачу в список готовых к выполнению

Выполнить У-оиерацию на системном семафоре

Уничтожить временную задачу трассировки

Взвести флаг занято

Восстановить

период грассвревки

1-21-1-

Передать управление Диспетчеру

Конец



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 [ 89 ] 90 91 92 93 94 95