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

3.4 Диспетчеризация программных процессов

3.4.1 Состав операционной системы

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

Основные функции операционной системы выполняют подсистемы (рисунок 3.14):

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

  • программы ввода-вывода, организующие обмен информацией между внешними устройствами и оперативной памятью ЭУС по заявкам программ внутреннего ПО;

  • программы связи “человек-машина”, обеспечивающие взаимодействие обслуживающего персонала с ЭУС;

  • программы запуска ЦСК, осуществляющие установку памяти ЭУС и оборудования станции в исходное состояние и проверку его работоспособности.

Рисунок 3.14 – Состав операционной системы

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

1) прерывания;

2) восстановления.

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

1) запоминается слово состояния текущей (прерываемой) программы в зоне рабочих ячеек уровня, к которому принадлежит эта программа;

2) прерываемая программа записывается в очередь на восстановление;

3) определяется номер уровня программы, которую нужно запустить по сигналу от блока прерывания программ;

4) загружается новое содержимое в счетчик команд, регистры общего назначения, регистр маски защиты от прерываний и т.д. из зоны рабочих ячеек диспетчера приоритетного уровня, которому передается управление.

В режиме восстановления диспетчер прерываний получает управление от диспетчера текущего приоритетного уровня по окончании выполнения последней программы этого уровня:

1) блокируется от сигналов со стороны блока прерывания программ.

2) выбирает приоритетный уровень, к которому должен обеспечиваться переход, анализируя очередь прерванных программ. Из очереди выбирается наиболее приоритетная программа;

3) из зоны рабочих ячеек слово состояния восстанавливаемой программы переписывается в регистры процессора (восстанавливается содержимое счетчика команд, регистров общего назначения, маски защите от прерываний и т.д.).

3.4.2 Запуск программ по расписанию

Программы внутреннего ПО в зависимости от требований к периодичности запуска можно разделить на следующие группы:

1) периодические процессы (детерминированные):

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

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

2) процессы с недетерминированным периодом (период запуска носит случайный характер):

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

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

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

Рисунок 3.15 – Диспетчеризация программных процессов

Сигналы от таймера поступают через фиксированные отрезки времени, которые называют первичными периодами (подциклами). Величина первичного периода выбирается, исходя из минимального периода запуска программ высокой срочности (t = 5…10 мс). При поступлении сигнала от таймера диспетчер прерываний прерывает выполнение программы основного уровня и передает управление диспетчеру уровня программ высокой срочности, который обеспечивает определенный порядок запуска программ своего уровня, После окончания выполнения программ данного подцикла диспетчер прерываний восстанавливает прерванную программу основного уровня. После окончания работы программ основного уровня, если нет следующего сигнала от таймера, могут быть запущены вспомогательные программы.

Рисунок 3.16 – Временная диаграмма

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

Диспетчер программ высокой срочности работает в соответствии с абсолютным расписанием, которое отражается в таблице расписаний (матрице подциклов). Расписание записано в память и задает периодичность запуска каждой программы данного уровня. Минимальный период запуска программ указанного уровня называют первичным периодом (Dt). Периоды запуска программ, отличающиеся от первичного, должны быть ему кратны. Интервал времени, состоящий из некоторого числа последовательных первичных периодов, в течение которого все программы данного уровня будут запущены хотя бы один раз, называется циклом расписания. Цикл расписания равен максимальному периоду запуска программ данного уровня.

Рисунок 3.17 – Таблица расписания

Таблица расписания содержит двоичные переменные, отражающие необходимость запуска или пропуска программы в определенном подцикле расписания. Каждый столбец матрицы соответствует программе, а строка – первичному периоду запуска программ. Количество столбцов определяется по количеству периодических программ, а число строк рассчитывается, исходя из величин минимального и максимального периодов запуска. Наличие «1» на пересечении строки и столбца говорит о необходимости запуска соответствующей программы в подцикле. Если программа в данном подцикле не запускается, на пересечении строки и столбца будет записан «0». Таблица заполняется в соответствии с заданной периодичностью запуска программ.

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

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

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

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

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

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

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

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

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

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

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

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

3) осуществляет поразрядный анализ СВП посредством операции поиска крайней левой единицы. В случае её отсутствия через интервал Dt произойдет обращение к следующей строке МЦ.

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

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

Рисунок 3.19 – Алгоритм запуска программ высокой срочности

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

1) Какие средства используются для описания состояний коммутационной станции?

2) Какие состояния конечного автомата называют устойчивыми, неустойчивыми?

3) Какой граф называют графом установления соединений?

4) По каким сигналам обеспечивается переход от одного этапа установления соединения к другому в соответствии с графом установления соединений?

5) На какие виды делятся коммутационные программы и чем объясняется такое разделение?

6) Как обеспечивается взаимосвязь программ в процессе обслуживания вызова?

7) Пояснить порядок работы программ сканирования.

8) Какие виды логических операций выполняются в процессе работы программ обнаружения сигналов вызова и отбоя?

9) Указать временные параметры сигналов декадного кода и тонального набора.

10) Каким образом обнаруживаются импульсы декадного кода и межцифровые интервалы?

11) К каким процедурам сводится алгоритм приема адресной информации от номеронабирателя с тональным набором?

12) Как обеспечивается выбор данных из индексных и поисковых таблиц?

13) Пояснить виды и особенности режимов искания путей в коммутационном поле.

14) Какие виды операций выполняются при поиске свободного пути в блокируемом коммутационном поле?

15) Пояснить функции диспетчера прерываний операционной системы.

16) На какие группы делятся программы внутреннего ПО в зависимости от требований к периодичности запуска?

17) Как задается периодичность выполнения программ высокой срочности?