
- •3. Последовательность выполнения коммутационных программ в процессе обслуживания вызова
- •3.1. Процесс сканирования абонентских комплектов
- •3.2. Программа поиска пути
- •3.3. Программа формирования и выдачи последовательности периферийных команд
- •3.4. Операционная система
- •3.4.1. Принципы и организация диспетчирования
3.4. Операционная система
Для выполнения возложенных функций операционная система содержит следующие основные наборы программ:
1. управляющие (программы-диспетчеры), осуществляющие управление очередностью запуска остальных программ внутреннего программного обеспечения во времени;
ввода-вывода, организующие обмен информацией между внешними устройствами и оперативной памятью ЭУМ по заявкам от программ Системы коммутационных программ (СКП), Системы программ технического обслуживания (СПТО) и Системы административных программ (САДМП);
организации, связи человек-машина, обеспечивающие взаимодействие обслуживающего персонала с ЭУМ в процессе эксплуатации и технического обслуживания коммутационного узла.
3.4.1. Принципы и организация диспетчирования
Для реализации функций ЭУМ необходимо так организовать очередность запуска программ, чтобы обеспечить обслуживание вызовов в реальном времени и разделение машинного времени ЭУМ между различными программами в режиме многопрограммной работы.
Существует два основных принципа: принцип запуска программ по заявкам и принцип приоритетности заявок и программ.
Принцип запуска программ по заявкам означает, что программе может быть передано управление только при наличии заявки на ее выполнение (в том числе и от датчика времени).
В ЭУМ могут одновременно иметься несколько заявок на выполнение различных программ.
Принцип приоритетности заявок устанавливает приоритеты между заявками в зависимости от требуемой срочности их выполнения.
Назовем набор правил, устанавливающих соответствие между приоритетами заявок и очередностью запуска соответствующих программ, дисциплиной обслуживания заявок, или алгоритмом диспетчирования программ. В ЭУМ узлов коммутации применяются дисциплины обслуживания заявок с абсолютными, относительными или смешанными приоритетами.
При использовании дисциплины обслуживания заявок с абсолютными приоритетами заявка к программе с более высоким приоритетом может прервать выполняющуюся в данный момент программу с менее высоким приоритетом и запустить соответствующую этой заявке программу. После выполнения программы с более высоким приоритетом продолжается выполнение прерванной программы (рис. 3.10.а).
Рис.3.10.
Дисциплина обслуживания заявок с относительными приоритетами также отдает предпочтение в очередности запуска программам, на которые имеются заявки с более высоким приоритетом, однако в данном случае, если выполняется программа с более низким приоритетом, то прерывания процесса ее выполнения не происходит, а более приоритетная заявка начинает выполняться только по окончании выполнения менее приоритетной программы (рис.3.10.б).
Наиболее общим случаем приоритетных дисциплин обслуживания заявок является дисциплина обслуживания заявок со смешанными приоритетами. При использовании этой дисциплины заявки и соответственно программы разбиваются на группы, заявки и программы, находящиеся в различных группах, обладают по отношению друг к другу абсолютными приоритетами, а заявки и программы, находящиеся на одном приоритетном уровне, могут иметь по отношению друг к другу относительные приоритеты.
Для простоты будем считать, что все программы обслуживания вызовов следует разделить на две группы:
программы высокой срочности (программы приема и выдачи информации;
программы нормальной срочности (программы обработки информации и формирования ППК)
Программам первой группы присваивается абсолютный приоритет (т.е. они могут прервать программы более низкого уровня). Это программы приоритетного уровня.
Программы второй группы - программы основного уровня. На их выполнение остается время, свободное от выполнения программ приоритетного уровня.
Чтобы обеспечить работу ЭУС в реальном масштабе времени, программы приема и выдачи информации должны выполняться со строгой периодичностью, а следовательно время работы ЭУМ оказывается разбитым на фиксированные интервалы времени, которые называются первичными периодами 1 (ПП). Величина первичного периода выбирается из минимального периода запуска программ высокой срочности (1=10 мс)
сканирование КПН - 10 мс
выдача ППК - 20 мс
сканирование АК - 100мс и т.д.)
Кроме этого стоит задача распределения моментов запуска приоритетных программ по различным первичным периодам. Данная задача решается путем составления таблиц расписаний запуска программ.
1 2 i n - номер программ
1 |
0 |
1 |
... |
1 |
... |
0 |
2 |
1 |
0 |
... |
0 |
... |
0 |
|
... |
... |
... |
... |
... |
... |
j |
1 |
1 |
... |
1 |
... |
0 |
|
... |
... |
... |
... |
... |
... |
m |
1 |
0 |
... |
0 |
... |
1 |
номер ПП
Рассмотрим теперь более подробно принципы построения и работы программ-диспетчеров, входящих в состав операционной системы.
Будем считать, что диспетчеры включают в себя:
диспетчер программ приоритетного уровня (ДППУ)
диспетчер программ основного уровня (ДПОУ)
диспетчер прерываний (ДП), который координирует работу ДППУ и ДПОУ.
|
|
|
|
|
|
| ||||||||||||||
|
|
ДП диспетчер прерываний |
|
| ||||||||||||||||
|
|
|
|
|
|
| ||||||||||||||
|
ДППУ |
|
ДПОУ | |||||||||||||||||
|
|
|
|
|
|
| ||||||||||||||
Программы приема информации |
|
Программы выдачи информации |
|
Программы обработки информации |
|
Программы формирования ПК |
При поступлении сигналов прерывания ДП дает команду ДПОУ на приостановления выполнения программ ПОУ, после этого ДП передает управление ДППУ, который в заданной последовательности запускает программы ППУ, относящиеся к данному первичному периоду. После окончания выполнения этих программ ДППУ обращается к ДП, который вновь возвращает управление ДПОУ, до поступления следующего сигнала прерывания.
В основу работы каждого подчиненного диспетчера (ДППУ или ДПОУ) положено соответствующее расписание. Функциональная схема программной организации процесса управления обслуживанием вызовов показана на следующем рисунке и включает в себя следующие элементы: счетчик первичных периодов (СПП), таблицу расписаний (ТР), слово активности программ (САП), слово выполняемых программ (СВП), таблицу начальных адресов программ (ТНАП), и модули программ П1,П2, ...,Пn.
|
|
|
|
J |
СПП |
+1 при поступлении сигнала | ||||||||||||||||||||||||||||
|
|
|
|
|
|
|
прерывания | |||||||||||||||||||||||||||
|
|
|
1 |
2 |
|
i |
|
n |
|
|
| |||||||||||||||||||||||
|
|
1 |
1 |
0 |
... |
1 |
... |
1 |
|
|
| |||||||||||||||||||||||
|
|
2 |
1 |
1 |
... |
0 |
... |
0 |
|
ТР |
| |||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
| |||||||||||||||||||||||
|
|
j |
1 |
0 |
... |
1 |
... |
0 |
ТРj |
|
| |||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
| |||||||||||||||||||||||
|
|
m |
1 |
1 |
... |
0 |
... |
0 |
|
|
| |||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
| |||||||||||||||||||||||
|
|
САП |
1 |
1 |
... |
1 |
... |
0 |
|
& | ||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
| |||||||||||||||||||||||
|
|
СВП |
1 |
0 |
... |
1 |
... |
0 |
|
|
| |||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
| |||||||||||||||||||||||
|
|
|
|
|
|
|
просмотр |
СВП |
|
| ||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
| |||||||||||||||||||||||
|
|
1 |
НА П1 |
|
|
| ||||||||||||||||||||||||||||
|
|
2 |
НА П2 |
|
|
|
| |||||||||||||||||||||||||||
|
|
|
|
|
|
ТНАП | ||||||||||||||||||||||||||||
|
|
i |
НА Пi |
|
|
|
| |||||||||||||||||||||||||||
|
|
|
|
|
|
ТНА Пi |
| |||||||||||||||||||||||||||
|
|
n |
НА Пn |
|
|
|
| |||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
| ||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
| ||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
| |||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
| |||||||||||||||||||||||
|
|
П1 |
... |
Пi |
... |
Пn |
|
|
Как было сказано раньше число столбцов ТР соответствует числу программ, число строк - числу первичных периодов, количество которых определяется как наименьшее общее кратное (НОК) множества запускаемых программ. Номер текущего первичного периода задается счетчиком первичных периодов (СПП), который наращивается на единицу при поступлении сигнала прерывания. После прохождения всех первичных периодов текущего цикла осуществляется переход к первому.
Элементами ТР являются двоичные переменные, принимающие значения 0 или 1. Наличие "1" означает необходимость запуска программы в данном первичном периоде "0" - пропуск этой программы. Частота расположения единиц в столбцах ТР определяется периодом запуска соответствующей программы.
Для блокировки выполнения некоторых второстепенных программ, при перегрузке управляющей системы, а также для разрешения или запрета запуска программ, служит слово активности программ САП. Конкретный набор программ запускаемых в данный первичный период определяется словом выполнения программ (СВП), как: <СВП>=<САП>&<ТРi>.
Начальные адреса всех программ сведены в таблицу начальных адресов программ ТНАП, где каждая строка соответствует своей программе. Последовательность действий, выполняемых при поступлении сигнала прерывания, когда управление получает ДППУ показаны на следующем рисунке.2.а.
В отличие от ППУ, запуск программ ПОУ осуществляется в случайные моменты времени. По отношению к действиям ДППУ в работе ПОУ можно выделить следующие отличия:
запуск любой программы ПОУ осуществляется только при условии, что имеется хотя бы одна заявка на выполнение данной программы. Этот факт определяется наличием единицы в соответствующем разряде поля заявок ПЗ, которое играет роль САП
диспетчер ДПОУ работает без обращения к ДП, поэтому переход с одной строки на другую в ТР осуществляется по мере выполнения всех программ текущего первичного периода (СПП=СПП+1)
при поступлении сигнала прерывания ПОУ прерывается. Чтобы в дальнейшем обеспечить возможность продолжить выполнение программы, промежуточные результаты работы, а также информация о состоянии программы на момент прерывания, хранятся в специальной зоне памяти. Для упрощения считаем , что сохраняется только адрес прерывания в ячейке адреса прерывания программ (АПР).
Контрольные вопросы по циклу: «Программное обеспечение ЦСК»:
Назначение системы коммутационных программ.
Сколько программ сканирования абонентских комплектов знаете?
С какой скоростью сканируется один абонентский комплект?
Какие массивы использует программа поиска пути?
Что такое линейный режим искания?
От чего зависит длина последовательности периферийных команд?
Пример периодически запускаемой программы
Назначение слова активности программ
Что хранится в Буфере заявок на обработку?
Какие программы находятся на основном уровне?
Использованная литература:
Аваков Р.А. и др. Электронные управляющие машины: Учебник для ВУЗов связи.-М.: Связь, 1979.-224 с., ил.
Управляющие системы электросвязи и их программное обеспечение: Учебник для ВУЗов связи/ Аваков Р.А. и др.-М.: Радио и Связь, 1991.-256 с., ил.
Артемьев М.Ю., Самоделов В.П. Программное обеспечение управляющих систем электросвязи: Учебник для техникумов - М.: Радио и Связь, 1990.-272 с., ил.
Берлин А.Н. Коммутация в системах и сетях связи.- М.: Эко-Трендз, 2006.- 344с.: ил.