Архитектура программного обеспечения
Большая гибкость подсистемы коммутации в стандарте D900/1800 достигается за счет широкого применения перезагружаемого программного обеспечения. Только некоторые из процессоров, а именно те, которые реализуют ограниченный набор функций и не зависят от решаемой задачи, например, контроллеры коммутационной матрицы или буферов сообщений, имеют программное обеспечение, записанное в ПЗУ.
Перезагружаемое программное обеспечение узла подсистемы коммутации D900/1800, включая данные, специфические для данного узла, составляют систему прикладных программ (APS). Для обеспечения надежности текущий образ APS хранится в дублирующей внешней памяти каждого узла подсистемы коммутации D900/1800.
Аппаратное обеспечение подвержено быстрым технологическим изменениям. Для обеспечения возможностей развития стандарта D900/1800 программное обеспечение подсистемы коммутации в стандарте D900/D1800 создано таким образом, что только минимальная его часть является аппаратно-зависимой.
В соответствии с принципом распределенного управления, принятым в подсистеме коммутации D900/1800, каждому процессору требуется свое программное обеспечение. Это ПО можно разделить на программное обеспечение, не ориентированное на выполнение конкретной прикладной задачи, (ПО общего назначения) и программное обеспечение, ориентированное на выполнение конкретной прикладной задачи, решаемой данным процессором (задачеориентированное ПО) (см. Рис. 1.14).
Рисунок 1.14 Оболочки программного обеспечения процессора.
Программное обеспечение, не ориентированное на выполнение конкретной прикладной задачи, всегда включает операционную систему, которая сконфигурирована под конкретную обеспечиваемую аппаратную подсистему. Программное обеспечение, ориентированное на выполнение конкретной прикладной задачи (также называемое пользовательское программное обеспечение) реализует функции различных приложений. Операционная система обеспечивает все программы пользовательского программного обеспечения удобным универсальным интерфейсом, через который они могут использовать собственно операционную систему и, таким образом, ресурсы процессора.
Программное обеспечение каждого процессора обычно выполняет широкий спектр функций. Соответственно оно подразделяется на подсистемы. Каждая подсистема в свою очередь обычно состоит из нескольких модулей. Модули являются минимальной единицей для компиляции.
Важным элементом программного обеспечения подсистемы коммутации D900/D1800 являются данные различных типов. Данные различаются по типу, объему, сроку и месту хранения. Данные, специфичные для конкретного узла, хранятся в базе данных CP113C/CR. Объем и содержимое базы данных зависят от обслуживаемой аппаратуры и эксплуатационного окружения данного узла. База данных входит в состав программного обеспечения.
Программы обработки вызова управляют установлением соединений в соответствии с требованием абонента. Помимо ресурсов аппаратуры эти программы нуждаются в информации о характеристиках оконечных устройств сети и эксплуатационном окружении (например, для маршрутизации). Эти данные предоставляются компанией-оператором. Для ввода и управления данными используются команды языка общения оператора с ЭВМ. Такие команды подобного типа оцениваются управляющими программами. Программы обработки вызова также выдают данные для расчета начисления платы и данные о рабочей нагрузке (трафике); управляющие программы обрабатывают эти данные, сохраняют и обеспечивают их вывод по требованию.
Программы защиты и обслуживающие программы обеспечивают бесперебойное функционирование системы. Программы защиты входят в состав операционной системы и выполняются автоматически. Обслуживающие программы напротив - как и обрабатывающие вызовы, и управляющие программы - являются программами пользовательскими. Некоторые из них выполняются только в случае ввода определенных команд оператора MML/Q3. При этом задействуются функции программ обеспечения безопасности.
Операционные системы
Каждый процессор в подсистеме коммутации D900/D1800 имеет собственную операционную систему, возможности которой зависят от задач, выполняемых данным процессором и аппаратных ресурсов, которыми он управляет. Все операционные системы должны выполнять свои функции в реальном масштабе времени и, поэтому, все они являются управляемыми прерываниями и работают в соответствии с приоритетами. Операционная система координирующего процессора (CP113C/CR) состоит из исполнительных и программ защиты.
Исполнительные программы
Составными блоками исполнительных программ являются:
– диспетчер
– администратор таймера
– блок управления ресурсом памяти
– блок ввода/вывода
· Программа-диспетчер определяет последовательность, в которой процессор CP113C/CR выполняет свои задачи. После фазы включения, такой последовательностью обычно является последовательность событий, таких как, например, входные сигналы или запросы операционной системы. Специфические функции или их элементы, в основном, в процессоре CP113C/CR организуются как процессы и управляются диспетчером через очереди процессов. Процессам присваиваются различные приоритеты.
При возникновении некоего события генерируется прерывание текущего исполняемого процесса, и активизируется диспетчер, который на основании анализа совершившегося события определяет процесс или программу, которые должны выполнять последующую обработку события. После этого управление передается диспетчером готовому к исполнению процессу с наивысшим приоритетом. Если таких процессов, имеющих одинаковый приоритет, оказывается два и более, то предпочтение отдается процессу, дольше всего находившемуся в очереди. Процедура прерывания, определение процессов, соответствующих выполняемым функциям, и правильное назначение приоритетов гарантируют соблюдение условий работы в реальном масштабе времени и то, что процессор CP113C/CR может откликаться на события в пределах требуемого времени.
· Программа-администратор таймера позволяет пользовательским программам устанавливать и переустанавливать таймеры. Таким образом достигается возможность осуществления контроля синхронизации исполняемых последовательных действий и запуска других действий через заданные интервалы времени. В дополнение, пользовательские программы могут обращаться к администратору таймера для получения данных о текущей дате и времени задержки.
· Часть программного обеспечения процессора CP113C/CR, требующая жесткой синхронизации, всегда загружается в резидентную зону оперативной памяти процессора. Оставшаяся часть памяти (не назначенная память) может быть использована перезагружаемым программным обеспечением при необходимости. Она выделяется для этих целей и освобождается подпрограммой-диспетчером памяти.
· Подпрограммы ввода-вывода исполнительных программ управляют и контролируют обмен сообщениями с периферийными устройствами обработки вызова (LTG), контроллером сети системы сигнализации (SSNC) и оперативными и обслуживающими периферийными устройствами, а также осуществляют предварительную обработку команд оператора MML/Q3.
Программы защиты
Функциями данной группы программ являются:
– определение при запуске конфигурации функциональной системы и закрепление этой конфигурации
– регистрация и обработка сообщений защиты, поступающих от периферийных устройств и процессов, обрабатываемых CP113C/CR
– контроль исполнения периодических проверок
– оценка аварийных сигналов, поступающих от управляющих схем процессора CP113C/CR
– накопление симптомов сбоев и их сохранение
– анализ и определение местонахождения сбоев
– восстановление работоспособной конфигурации системы после сбоев аппаратных средств, и
– исправление соответствующими мерами восстановления последствий сбоев программного обеспечения, которые не могут быть скорректированы собственно пользовательскими программами.
Меры восстановления в подсистеме коммутации D900/D1800 реализуются на нескольких уровнях. Основными уровнями являются перезапуск, новый запуск и первоначальный запуск.
– Перезапуск применяется только в отношении текущих процессов и не влияет более чем на одно соединение.
– Новый запуск сбрасывает (переустанавливает) все процессы и влияет на все устанавливаемые в этот момент соединения.
– Первоначальный запуск, подразумевающий перезагрузку всего программного обеспечения, приводит к разъединению всех соединений.
Выбор уровня восстановления зависит от типа и частоты возникновения обнаруженного сбоя программного обеспечения. Изначально выбирается такой уровень восстановления, применение которого обещает максимальный результат при минимальном ущербе штатному функционированию. Однако, если тот же самый сбой возникает повторно, применяется восстановление следующего, более высокого уровня (эскалация).