Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Програмное обеспечение ЦСК 10 вар.doc
Скачиваний:
27
Добавлен:
05.05.2015
Размер:
309.25 Кб
Скачать

Задача 4.

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

Таблица 4

№ Варианта

Параметры

Величина первичного периода ∆t, мс

Периодичность запуска программ

Номера запускаемых программ

Длительность цикла расписания, мс

10

10

Т4 = 2∆t, Т7 = 5∆t

4,7

100

Решение:

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

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

Количество строк = Тц / ∆t = 100 / 10 = 10

В состав схемы программной реализации запуска программ по расписанию входят:

- таблица расписания (матрица циклов МЦ ),

- счетчик первичных периодов или подциклов (СПЦ),

- слово активности программ (САП),

- слово вызова программ (СВП),

- таблица начальных (базовых) адресов программ,

- программные модули ( П0 …..Пn-1 )

Таблица расписания составляется в соответствии с требованиями периодичности программ запуска программ. Количество строк в таблице равно количеству первичных периодов в цикле расписания, а число столбцов –количеству программ.

Счетчик подциклов обеспечивает обращение к нужной строке таблицы расписания. Его содержимое меняется циклически по сигналу от таймера и соответствует номеру первичного периода.

Слово активности программ используется для разрешения или запрета на запуск программы. Запрещение запуска может быть вызвано перегрузкой ЭУС. Выполнение программ в данном подцикле регулируется словом вызова

Р исунок . Схема программной организации запуска программ

Р исунок . Временная диаграмма работы СВП

программы (см. рисунок ), которое формируется путем логического умножения содержимого строки таблицы расписания и САП.

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

  • Определяет номер строки в МЦ по содержимому СПЦ;

  • Формирует СВП логическим умножением содержимого строки МЦ на САП;

  • Осуществляет поразрядный анализ СВП посредством операции поиска крайней левой единицы (см. рисунок ). В случае ее отсутствия через интервал дельта t произойдет обращение к следующей строке МЦ.

Если “1” найдена, в данный разряд СВП записывается “0” (рисунок ) с целью предотвращения повторной обработки процесса и выдается команда запуска соответствующей программы. Для этой цели номер разряда СВП пересчитывается в адрес таблицы начальных адресов программ, из которой извлекается базовый адрес нужного программного модуля. После окончания работы программы диспетчер анализирует следующие разряды СВП с целью обнаружения “1” и т.д. до тех пор, пока результат анализа не даст “0”.

После окончания цикла (10 мс) расписания СПЦ устанавливается в “0”, а диспетчер приоритетного уровня передает управление диспетчеру прерываний.