ЦСРС_1 / Grebeshkov_Tehnika_mikroproz_sistem_v_kommutazii_uchebnik_dlya_vuzov_2011
.pdf
Техника микропроцессорных систем в коммутации
дольше период эксплуатации ПО – тем вероятнее обнаружение и устранение ошибок ПО; этим свойством программное обеспечение выгодно отличается от аппаратных средств.
При разработке программного обеспечения управляющих комплексов средств связи разработчику следует последовательно применять все описанные методы с расчѐтом на то, большая часть ПО управления функционирует автоматически в реальном масштабе времени. В качестве практического примера, рассмотрим программное обеспечение современного узла коммутации на примере EWSD.
3.6Программное обеспечение современного узла коммутации
3.6.1 Общие сведения о программном обеспечении на примере
EWSD
Принципы построения и структура программного обеспечения управления EWSD соответствуют квази-распределенной функциональной архитектуре управления. В системе EWSD управление соединениями осуществляют координационный процессор CP113с, в обработке вызовов участвуют процессор GP в составе LTG, процессоры DLUC в составе DLU. Администрирование, дополнительные функциональные возможности и автоматическую техническую эксплуатацию осуществляет координационный процессор CP113с. Функции обработки данных звена общеканальной сигнализации осуществляет процессор CCNC в составе устройства управления ОКС №7 (EWSD v15) [82]. Подробно эти вопросы рассматриваются в учебных пособиях [8,70]. Программное обеспечение управления EWSD организовано в соответствии с функциями, выполняемыми отдельными программными подсистемами управления EWSD. Программное обеспечение управления EWSD разработано на языках программирования CHILL [9,74,82], Cи, Ассемблер.
Программное обеспечение устанавливается в системе EWSD одним из двух способов:
в виде готовой системы прикладных программ APS, загружаемой в координационный процессор CP113 или в
231
Техника микропроцессорных систем в коммутации
главные процессоры MP сетевого контроллера системы сигнализации (или SSNC в АТСЭ EWSD v15) с магнитной ленты или магнитооптического диска;
в виде замонтированного микропрограммного обеспечения, хранящегося в постоянных запоминающих устройствах FEPROM подсистем EWSD.
Версия APS загружается в оперативную память CMY с внешнего носителя НМЛ или НОД и далее записывается на НЖМД. Часть программных модулей APS постоянно (резидентно) находятся в оперативной памяти; некоторые программы APS записаны на НЖМД и, при необходимости, загружаются в оперативную память. Программное обеспечение EWSD имеет модульную структуру. Программный модуль представляет собой фрагмент машинного кода, он является наименьшим блоком, полученным в результате компиляции. Модуль может содержать, в соответствии с используемым языком CHILL, следующие операторы и процедуры языка программирования:
определение используемого кода;
используемые константы;
объявления данных;
определения процедур;
определение типа процесса.
Средний размер программного модуля в программном обеспечении EWSD, как правило, не превышает 1000 операторов языка программирования.
Программное обеспечение начальной загрузки и ПО диагностики аппаратной части выполнено в виде замонтированного микропрограммного обеспечения, которое хранится в постоянном запоминающем устройстве FEPROM. Микросхемы FEPROM установлены практически на каждом модуле EWSD, который оборудован процессором любого назначения. Это запоминающее устройство допускает коррекцию хранимого программного обеспечения с помощью специальных программ перепрошивки или обновления.
Показатели качества программного обеспечения EWSD формируются на основании группы стандартов ISO 9000-2000. Среди
232
Техника микропроцессорных систем в коммутации
этих показателей следует особо выделить показатели надежности программного обеспечения:
техническая правильность реализации функций системы коммутации;
законченность ПО;
возможность предотвращения отказов ПО;
устойчивость к перегрузкам (например, ограничение числа входящих вызовов).
Обеспечение надѐжности программного обеспечения достигается комплексом мер. В частности, непротиворечивость, целостность и предотвращение ошибок программного обеспечения достигаются следующими мерами:
защита файлов от несанкционированного доступа;
периодические автоматические проверки файлов на непротиворечивость данных;
специальные меры безопасности, предотвращающие множественный доступ к данным;
автоматические проверки на достоверность и непротиворечивость данных, передаваемых по интерфейсу с внешними устройствами;
автоматические процедуры проверки контрольной суммы файлов для контроля данных и программы.
Защита от отказов и минимизация последствий распространения ошибок достигается следующими мерами:
разделение программ и данных по отдельным, динамически подключаемым программным модулям, которые хранятся в раздельных областях физической памяти;
защита памяти для программ и для полупостоянных данных;
резервное копирование и дублирование системных файлов и файлов пользователя;
текущий контроль в реальном времени реакции программ;
текущий контроль производительности системы.
В результате реализации перечисленных мероприятий время полного простоя системы коммутации EWSD, связанного с отказом программного обеспечения, составляет в общем времени простоя
233
Техника микропроцессорных систем в коммутации
системы в среднем приблизительно 1 минуту в год (данные компа-
нии Siemens).
Удобство технического обслуживания ПО обусловлено следующими показателями:
модульность системы;
модифицируемость ПО – возможность изменения программного кода без перекомпиляции всего ПО;
тестируемость, т.е. возможность проверки.
Удобный способ взаимодействия с пользователем обусловлен простотой использования, легкостью изучения интерфейса пользователя; устойчивостью к ошибкам оператора (т.н. «защита от дурака»). Эффективность ПО обусловлена предсказуемым поведением в процессе эксплуатации.
Надежность программного обеспечения EWSD может рассматриваться в рамках концепции разработки ПО. Эта концепция включает:
коммуникационную модель ПО;
управление выполнением программ в реальном времени;
принципы программирования.
Длительность разработки базовой версии ПО составляет 5…7 лет и включает десятки миллионов человеко-часов. В процессе разработки программное обеспечение EWSD приобретает достаточно сложную структуру, оптимизированную для выполнения программ в реальном времени. Рассмотрим процессы разработки ПО и структурные блоки программного обеспечения управления EWSD более подробно.
Разработка ПО EWSD включает следующие этапы:
планирование будущего ПО;
проектирование программного обеспечение (разработка SDL-диаграмм, структурных описаний, алгоритмов);
производство программного обеспечения, включая разработку программ с использованием соответствующих языков программирования;
установка ПО на систему EWSD;
тестирование и отладка ПО;
234
Техника микропроцессорных систем в коммутации
эксплуатацию ПО;
снятие ПО с эксплуатации путѐм деинсталляция или замены/обновления версий ПО.
При разработке программного обеспечения EWSD используется термин «платформа обработки» (см. рис. 3.11) или процессинговая платформа (processing platform), под которой подразумевается совокупность аппаратных средств процессора CP113с, операционной системы и средств разработки ПО.
Платформа |
Капсула 2 |
|
|
|
|
SPU n |
|
Капсула 1 |
|
|
Процесс |
|
|
|
|
|
SPU 2 |
|
Процесс |
|
|
Регион |
|
SPU 1 |
|
|
|
|
|
|
|
|
|
Процесс |
Процесс |
|
|
|
|
|
|
Процесс |
|
Данные |
Регион |
|
|
|
|
Процесс |
|
Процесс |
Процесс |
|
|
|
|
Процесс |
|
|
Ядро операционной системы |
|
|
Условные обозначения : |
|
|
|
– виртуальный процессор CPU 1
– виртуальный процессор CPU 2

– распределение ядром ОС временного бюджета между CPU SPU – блок предоставления услуг, способ структуризации
прикладного ПО (на уровне алгоритма)
Рис. 3.11 – Структура программного обеспечения EWSD
с двумя виртуальными CPU
Это понятие используется на этапе планирования будущей разработки программного обеспечения. Процессинговая платформа содержит одну или несколько капсул (capsule).
Капсула – структурный блок программного обеспечения, который формируется на этапе производства ПО. Капсула представляет
235
Техника микропроцессорных систем в коммутации
собой блок распределения машинных/аппаратных ресурсов с точки зрения защищенного диапазона виртуальных адресов. Под защитой здесь понимается резервирование группы виртуальных адресов для реализации того или иного блока предоставления услуг, SPU.
Блок SPU формируется на этапе проектирования программного обеспечения. В свою очередь SPU содержит процессы, данные и процедуры, а также регионы и документированные интерфейсы для обмена с другими SPU.
Распределение блоков SPU по капсулам и распределение капсул по платформам происходит на этапе производства программного обеспечения. Во время исполнения капсула целиком находится на заданной платформе. Регион в данном случае является программным средством синхронизации, позволяющее осуществлять монопольный доступ к программно-аппаратным ресурсам CP113. Регион содержит данные и процедуры, однако, не включает в себя каких-либо процессов; регион распределяет доступ к ресурсам между различными SPU.
Регионы используются для административного управления совместно используемыми данными. Виртуальный процессор аналогичен ранее рассмотренной виртуальной машине. Рассмотрим более подробно функции операционной системы, позволяющие поддерживать схему на рис. 3.11.
3.6.2 Функции операционной системы реального времени EWSD
Операционная система EWSD выполняет общие организационные функции в отношении управления аппаратно-программными ресурсами узла коммутации. Операционная система в виде отдельных ядер ОС (kernel OS) загружается в локальные ОЗУ процессоров. Ядра операционных систем в процессорах BAP и CAP практически идентичны. Операционная система EWSD должна выполнять свои задачи в режиме реального времени, поэтому она поддерживает систему прерываний, включая приоритеты прерываний и процессов. Процессоры IOC и IOP содержат ядра операционной системы, адаптированные к их конкретным функциям ввода–вывода. Операционная система этих процессоров представляет собой «подмножество»
236
Техника микропроцессорных систем в коммутации
той операционной системы, которая используется в BAP/CAP. Центральным компонентом операционной системы EWSD яв-
ляется управляющая программа. Управляющей программа ОС выполняет следующие функции:
Инициализация программного обеспечения – выполняется во время запуска системы коммутации EWSD в эксплуатацию или в течение восстановления системы после сбоя или отказа. Целью инициализации является подготовка процессоров к работе. Каждый процессор в процессе инициализации выполняет свою собственную инициализацию.
Планирование процессов, что предполагает назначение процессоров для выполнения отдельных задач (процессов) на определенные интервалы времени.
Обработка прерываний выполняется операционной системой для пользовательских (прикладных) программ, активизируется с помощью прерываний. Уровень 7 имеют прерывания с самым высоким приоритетом, а уровень 0 – прерывания с самый низким приоритетом. Процессы обычно выполняются на уровне прерываний 0. Входящим событиям назначаются уровни прерывания выше 0. Наступление какого-либо события приводит к приостановке выполняющегося в текущий момент времени процесса и активизации функции обработки прерываний. Функция обработки прерываний сохраняет текущий статус выполняемого процесса и вызывает подпрограмму прерываний для запрашиваемого уровня прерывания.
В части управления ресурсами узла коммутации операционная система осуществляет несколько видов управления. При управлении процессами осуществляется запуск и завершение процессов, выполняемых в различных процессорах, а также происходит управление таким ресурсами, как буферы. Операционная система CP113с осуществляет связь между программными процессами для обеспечения взаимодействия между ними. С помощью буферов в CMY, к которым имеется доступ у всех процессоров BAP и CAP, организуется межпроцессорная связь. Управление таймированием предусматривает установку и обновление системной даты и времени с точностью до секунды, обработку задач таймирования и вычисление загрузки про-
237
Техника микропроцессорных систем в коммутации
цессоров. Управление памятью предусматривает:
хранение и обновление информации о расположении, размерах и именах загруженных программных модулей;
преобразование логических адресов в физические;
временное выделение областей физической памяти для прикладных программ, например для вывода данных;
контроль всех операций чтения и записи в CMY и LMY. Ещѐ одним важным компонентом операционной системы явля-
ются программы–загрузчики.
При первоначальном вводе узла коммутации в эксплуатацию и после каждого полного перезапуска программного обеспечения необходимо выполнять загрузку исполняемого программного обеспечения в CP113c. Эта задача выполняется загрузчиками, которые содержат следующие программы:
системный загрузчик, который включает базовую систему ввода-вывода;
загрузчик образа оперативной памяти;
загрузчик локальной памяти, включая библиотеку программ модуля LIB113.
Все перечисленные функции практически реализованы, загружаются и функционируют в системе в виде отдельных файлов. Примерный список файлов операционной системы EWSD и прикладных программ APS приведѐн в таблице 3.2, соответствующей программному обеспечению EWSD v10.
Рассмотрим далее подробнее особенности программызагрузчика. Базовая система ввода-вывода EWSD используется конкретными пользовательскими процессами, в частности, программой начальной загрузки, для посылки запросов ввода-вывода на логическом или физическом уровне (например, для считывания или записи из/в файлы на НЖМД или НОД).
Загрузчик образа оперативной памяти используется для загрузки программного обеспечения в физическую память CMY и LMY в процессоре BAPM. Загрузчик локальной памяти используется для загрузки ПО в LMY в процессоры BAP,CAP и контроллеры IOC.
238
Техника микропроцессорных систем в коммутации
Таблица 3.2. Файлы операционной системы и прикладных программ пользователей CP113c
|
Наименование |
Назначение файла/файлов |
|
|
файла |
|
|
|
|
|
|
|
SY.GENLIST |
Список генераций (экземпляров) программного обеспе- |
|
|
чения |
|
|
|
|
|
|
|
|
|
|
|
SY.INSTALL |
Файл, содержащий данные загрузки, выполняемой с |
|
|
внешнего носителя (НОД, НМЛ) для хранения данных |
|
|
|
|
|
|
|
|
|
|
|
SY.TASKLIST |
Файл, содержащий резидентное (постоянно хранящее- |
|
|
ся в ОЗУ) программное обеспечение CP113 |
|
|
|
|
|
|
|
|
|
|
|
SY.SEMILIB |
Файл, содержащий полупостоянные данные |
|
|
CP113 (генерируемые из SY.TASKLIB) |
|
|
|
|
|
|
|
|
|
|
|
SY.LOADLIB.LA |
Файл, содержащий нерезидентное (постоянно не хра- |
|
|
нящееся в ОЗУ) программное обеспечение CP113 |
|
|
|
|
|
|
|
SY.LOADLIB.MA |
Файл, содержащий нерезидентные маски т.е. шаблоны |
|
|
вывода данных для инженерного персонала EWSD |
|
|
|
|
|
|
|
|
|
|
|
SY.LOADLIB.CA |
Файл, содержащий описание нерезидентных команд, |
|
|
доступных операторам EWSD. |
|
|
|
|
|
|
|
|
|
|
|
|
Файл, содержащий программное обеспечение для про- |
|
|
SY.PSW.Txxx |
цессоров периферийных УУ (зависит от состава обору- |
|
|
|
дования EWSD) |
|
|
|
|
|
|
SY.PSW.T098 |
Файл, содержащий программное обеспечение для уст- |
|
|
ройства управления ОКС№7 CCNC |
|
|
|
|
|
|
|
SY.SIMP |
Файл, содержащий полупостоянные данные для CCNC |
|
|
|
|
|
|
CA.SU.UCHA |
Абонентские тарифные счѐтчики |
|
|
CA.ST.UCHA |
Статистические счѐтчики |
|
|
|
|
|
|
CA.TR.UCHA |
Счѐтчики соединительных линий |
|
|
|
|
|
|
TCA.CA.xxx |
Копия текущего содержимого счетчиков (показывается |
|
|
только при обращении к НЖМД) |
|
|
|
|
|
|
|
|
|
|
|
|
Файл журналирования с регистрацией действий инже- |
|
|
LG(LQ).LOGx |
нерного персонала обслуживания системы EWSD и от- |
|
|
|
ветами системы на введѐнные команды |
|
|
|
|
|
|
PW.LOG |
Файл журналирования с регистрацией паролей доступа |
|
|
к программной системе EWSD |
|
|
|
|
|
|
|
AM.ALARM |
Файл с сообщениями о критических аварийных ситуа- |
|
|
циях системы EWSD |
|
|
|
|
|
|
|
|
Файл с данными об аварийных сигналах, которые ини- |
|
|
|
циированы средствами технического обслуживания и |
|
|
HF.ARCHIVE |
регламентными тестами. Здесь содержатся шаблоны |
|
|
|
вывода данных с результатами восстановления систе- |
|
|
|
мы после сбоев или отказов. |
|
|
|
|
|
|
|
|
|
|
|
239 |
|
Техника микропроцессорных систем в коммутации
Библиотека модуля LIB113 содержит файлы, передаваемые загрузчиком образа оперативной памяти из НЖМД/НОД в CMY и LMY. Ещѐ одним компонентом загрузчика является подпрограмма управления библиотеками, которая отвечает за административное управление библиотекой модуля LIB113.
Под библиотекой здесь понимается совокупность подпрограмм (модулей), составленных на одном из языков программирования и удовлетворяющих определенным единым требованиям к структуре, организации их входов и выходов, описаниям подпрограмм. В свою очередь, библиотеки модулей, управляемые подпрограммой управления библиотеками, содержат системные файлы TASKLIB, SEMILIB, LOADLIB и другие файлы, перечисленные в таблице 3.2.
Как было указано выше, процесс является реализацией программной задачи. Описание процесса формируется на этапе проектирования программного обеспечения EWSD. Важнейшими характеристиками процесса являются приоритет и класс процесса, которые определяются на этапе разработки с учѐтом требований выполнения задач в реальном времени. Приоритеты позволяют управляющей программе (планировщику) операционной системы управлять попеременным выполнением процессов путем выбора процесса с наивысшим приоритетом из набора готовых к выполнению процессов. Приоритет процесса определяется уровнем прерывания, которым он инициализируется. Всего в системе EWSD существует 16 приоритетов процессов, от нулевого до пятнадцатого. Нулевой приоритет соответствует самому низкому приоритету, а пятнадцатый приоритет соответствует самому высокому приоритету. Приоритеты с 1 до 6 и с 8 до 13 могут назначаться процессам произвольно. Приоритеты 0, 14 и 15 зарезервированы для системных процессов. Приоритет 7 зарезервирован целиком для процесса обработки вызовов. Приоритеты и соответствующие им процессы сведены в таблицу 3.3.
Значение приоритета, выбираемое для данного процесса в рамках приведѐнной шкалы приоритетов выбирается группой управления проектом разработки программного обеспечения с участием специалистов по операционной системе и инженерами проек-
240
