В этой главе мы узнаем об архитектуре программного обеспечения телекоммуникационных систем и сетей коммутации.
Программное обеспечение систем SPC может быть разбито на две категории для лучшего понимания — системное программное обеспечение и прикладное программное обеспечение . Архитектура программного обеспечения имеет дело с системной программной средой SPC, включая языковые процессоры. Многие функции наряду с обработкой вызовов являются частью операционной системы, в которой выполняются операции и функции управления.
Обработка вызовов является основной функцией обработки, которая ориентирована на события. Событие, которое происходит в абонентской линии или транке, запускает обработку вызова. Настройка вызова не выполняется в одной непрерывной последовательности обработки при обмене. Весь этот процесс согласуется со многими элементарными процессами, которые длятся несколько десятков или сотен миллисекунд, и многие вызовы обрабатываются как таковые одновременно, и каждый вызов обрабатывается отдельным процессом . Процесс — это активная сущность, которая представляет собой исполняемую программу , иногда даже называемую задачей .
Процесс в многопрограммной среде
В этом разделе мы увидим, что такое процесс в многопрограммной среде. Процесс в многопрограммной среде может быть одним из следующих:
- Бег
- готовы
- блокированный
Состояние процесса определяется его текущей активностью, процессом, который он выполняет, и переходами, которым подвергается его состояние.
-
Процесс считается запущенным , если процессор выполняет инструкцию в данный момент.
-
Процесс считается готовым, если следующая инструкция по запуску процесса ожидает или имеет команду, для которой истекло время ожидания.
-
Процесс считается заблокированным, если он ожидает какого-либо события, прежде чем он сможет продолжаться.
Процесс считается запущенным , если процессор выполняет инструкцию в данный момент.
Процесс считается готовым, если следующая инструкция по запуску процесса ожидает или имеет команду, для которой истекло время ожидания.
Процесс считается заблокированным, если он ожидает какого-либо события, прежде чем он сможет продолжаться.
На следующем рисунке показан процесс, который показывает переход между выполнением, готовностью и блокировкой.
Пока некоторые процессы находятся в состоянии выполнения, некоторые будут в состоянии готовности, а другие заблокированы. Процессы в готовом списке будут соответствовать приоритетам. Заблокированные процессы неупорядочены и разблокируются в порядке, в котором ожидают события. Если процесс не выполняется и ожидает какой-либо другой инструкции или ресурса, время процессора экономится путем помещения такого процесса в список готовности и разблокируется, когда его приоритет высок.
Блок управления процессом
Блок управления процессом представляет каждый процесс в операционной системе. PCB — это структура данных, содержащая следующую информацию о процессе.
-
Текущее состояние процесса
-
Приоритет процесса, который находится в состоянии готовности
-
Параметры планирования процессора
-
Сохраняет содержимое процессора, когда процесс прерывается
-
Распределение памяти для процесса
-
Детали процесса, такие как его номер, загрузка процессора и т. Д. Присутствуют
-
Состояние событий и ресурсов ввода / вывода, связанных с процессом
Текущее состояние процесса
Приоритет процесса, который находится в состоянии готовности
Параметры планирования процессора
Сохраняет содержимое процессора, когда процесс прерывается
Распределение памяти для процесса
Детали процесса, такие как его номер, загрузка процессора и т. Д. Присутствуют
Состояние событий и ресурсов ввода / вывода, связанных с процессом
PCB имеет всю информацию о процессах, которые должны быть выполнены следующим образом, когда он получает процессор. Регистры ЦП включают в себя слово состояния программы (PSW), которое содержит адрес следующей команды, которая должна быть выполнена, типы прерываний, включенных или отключенных в настоящее время, и т. Д.
Хотя ЦП выполняет некоторый процесс, этот процесс необходимо переключать, когда текущий запущенный процесс блокируется или происходит событие или прерывание, которое запускает процесс с высоким приоритетом. Такая ситуация называется переключением процессов , которое также известно как переключение контекста . Такой механизм приоритета прерываний описан на следующем рисунке.
Если процесс A сканирует определенную абонентскую линию и находит ее свободной, тогда процесс устанавливает вызов с этим абонентом. Однако, если другой процесс B запрашивает приоритет и устанавливает вызов с одним и тем же абонентом в одно и то же время, тогда обоим процессам необходимо сделать вызов одному и тому же абоненту одновременно, что не представляется возможным. Аналогичная проблема может возникнуть и с другими общими таблицами и файлами.
Информация о ресурсах биржи (транках, регистрах и т. Д.) И их текущем использовании хранится в виде таблиц. Эти таблицы при необходимости используются разными процессами. Проблема возникает, когда два или более процессов выбирают одну и ту же таблицу одновременно. Эту проблему можно решить, предоставив доступ каждому процессу к общей таблице.
Обмен ресурсами
Всякий раз, когда процесс использует общую таблицу или какой-либо общий ресурс, все остальные процессы, которым требуется то же самое, должны оставаться в ожидании. Когда запущенный процесс завершит использование ресурса, он будет назначен первому приоритетному готовому процессу, который остается в ожидании. Этот процесс использования общих ресурсов называется взаимным исключением . Процесс, который обращается к общему ресурсу, называется его критическим разделом или критическим регионом . Взаимное исключение подразумевает, что только один процесс может находиться в критической области в любом случае для данного общего ресурса. Кодирование процесса в критическом разделе выполняется очень тщательно, чтобы не было бесконечных циклов. Это помогает в процессе не быть заблокированным. Проделанная работа является более точной и эффективной. Это помогает другим процессам, которые ждут.
Если два процесса в семафоре должны совместно использовать общий ресурс, он разделяется ими в течение определенных промежутков времени. Пока один использует ресурс, другой ждет. Теперь, ожидая, чтобы синхронизироваться с другим, он читает задание, которое было написано до этого момента. Это означает, что состояние этого процесса должно быть ненулевым и должно увеличиваться, что в противном случае было бы отправлено в список заблокированных. Процессы, которые находятся в заблокированном списке, накладываются друг на друга и могут использовать ресурс в соответствии с приоритетом.
На следующем рисунке показано, как работает процесс —
Если два или более процесса в семафоре бесконечно ждут ресурс и не получают ноль для возврата в состояние блока, тогда как другие процессы ждут в заблокированном состоянии использования одного и того же ресурса, в то время как ни один из них не мог использовать ресурс, но ждал, такой состояние называется тупиковым состоянием.
Методы были разработаны для предотвращения тупиков, предотвращения, обнаружения и восстановления. Следовательно, они охватывают характерные особенности операционной системы для переключения процессоров.
Производство программного обеспечения
Производство программного обеспечения SPC важно из-за его сложности и размера программного обеспечения, а также из-за его длительного срока службы и надежности, доступности и портативности.
Производство программного обеспечения — это та отрасль разработки программного обеспечения, которая занимается проблемами, возникающими при производстве и обслуживании крупномасштабного программного обеспечения для сложных систем. Практика разработки программного обеспечения подразделяется на четыре этапа. Эти этапы компенсируют производство программных систем.
- Функциональные характеристики
- Формальное описание и подробные спецификации
- Кодирование и проверка
- Тестирование и отладка
Прикладное программное обеспечение системы коммутации может быть разделено на программное обеспечение для обработки вызовов, административное программное обеспечение и программное обеспечение для обслуживания; пакеты прикладного программного обеспечения системы коммутации используют модульную организацию.
С введением управления сохраненными программами абонентам может быть доступно множество новых или улучшенных услуг. Множество видов улучшенных услуг, таких как сокращенный набор номера, запись телефонных вызовов или отсутствие телефонных вызовов, обратный вызов при бесплатной переадресации, переадресация вызова, ответ оператора, запись номера вызова, ожидание вызова, удержание консультации, конференц-вызовы, автоматическая сигнализация, запрет STD, злонамеренный вызов отслеживание и т. д. все вводятся с этими изменениями в телефонии.
Многоступенчатые сети
Многоступенчатые сети — это сети, созданные для обеспечения более эффективного соединения между большим количеством абонентов, чем системы коммутации Crossbar.
Сети коммутации Crossbar, рассмотренные ранее, имеют некоторые ограничения, как описано ниже —
-
Число точек пересечения будет квадратом количества подключенных станций, и, следовательно, это дорого для большого коммутатора.
-
Сбой Crosspoint предотвращает соединение с теми двумя абонентами, между которыми подключен Crosspoint.
-
Даже если все подключенные устройства активны, используются только несколько точек пересечения.
Число точек пересечения будет квадратом количества подключенных станций, и, следовательно, это дорого для большого коммутатора.
Сбой Crosspoint предотвращает соединение с теми двумя абонентами, между которыми подключен Crosspoint.
Даже если все подключенные устройства активны, используются только несколько точек пересечения.
Чтобы найти решение для субсидирования этих недостатков, были построены многоступенчатые коммутаторы пространственного разделения. Разбивая коммутатор Crossbar на более мелкие блоки и соединяя их, можно создавать многоступенчатые коммутаторы с меньшим количеством точек пересечения. На следующем рисунке показан пример многоступенчатого коммутатора.
Многоступенчатый коммутатор, как и выше, нуждается в меньшем количестве точек пересечения, чем те, которые необходимы для коммутации перекладин. В соответствии с примером, показанным выше, для 8 (входных) и 8 (выходных) различных абонентов (как вызываемых, так и вызывающих абонентов) точки пересечения, необходимые в обычной сети перекладины, будут квадратными из них, что равно 64. Однако в многоступенчатая сеть Crossbar, достаточно 40 точек подключения. Это как показано на диаграмме выше. В большом многоступенчатом ригельном переключателе уменьшение является более значительным.
Преимущества многоступенчатой сети
Преимущества многоступенчатой сети следующие:
- Количество ригелей уменьшено.
- Количество путей соединения может быть больше.
Недостатки многоступенчатой сети
Недостатком многоступенчатой сети являются следующие —
-
Многоступенчатые переключатели могут вызвать блокировку .
-
Количество или размер промежуточных переключателей, если они увеличены, могут решить эту проблему, но стоимость увеличивается с этим.
Многоступенчатые переключатели могут вызвать блокировку .
Количество или размер промежуточных переключателей, если они увеличены, могут решить эту проблему, но стоимость увеличивается с этим.
блокировка
Блокировка уменьшает количество точек пересечения. Следующая диаграмма поможет вам лучше понять блокировку.
На приведенном выше рисунке, где имеется 4 входа и 2 выхода, абонент 1 был подключен к линии 3, а абонент 2 был подключен к линии 4. Линии красного цвета обозначают соединения. Тем не менее, будет больше запросов; запрос вызова от абонента 3 и абонента 4, если он сделан, не может быть обработан, так как вызов не может быть установлен.
Подписчики вышеуказанного блока также (как показано на приведенной выше диаграмме) сталкиваются с той же проблемой. Только два блока могут быть связаны одновременно; невозможно подключить более двух или всех входов (так как это зависит от количества имеющихся выходов). Следовательно, несколько соединений не могут быть установлены одновременно, что понимается как блокировка вызовов.