ЦСН - Архитектура программного обеспечения

В этой главе мы узнаем о программной архитектуре телекоммуникационных систем и сетей коммутации.

Программное обеспечение систем SPC можно разделить на две категории для лучшего понимания: System Software и Application Software. Архитектура программного обеспечения имеет дело с системной программной средой SPC, включая языковые процессоры. Многие функции наряду с обработкой вызовов являются частью операционной системы, в которой выполняются операции и функции управления.

Обработка вызовов - это основная функция обработки, ориентированная на события. Событие, которое происходит на абонентской линии или соединительной линии, запускает обработку вызова. Установление вызова не выполняется за одну непрерывную последовательность обработки на АТС. Весь этот процесс соответствует многим элементарным процессам, которые длятся несколько десятков или сотен миллисекунд, и многие вызовы обрабатываются как таковые одновременно, и каждый вызов обрабатывается отдельнымProcess. Процесс - это активная сущность, которая являетсяprogram in execution, иногда даже называемый task.

Процесс в многопрограммной среде

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

  • Running
  • Ready
  • Blocked

Состояние процесса определяется его текущей активностью и процессом, который он выполняет, а также переходами, которые претерпевает его состояние.

  • Говорят, что процесс running, если инструкция в данный момент выполняется процессором.

  • Говорят, что процесс ready если следующая инструкция запуска процесса ожидает или у нее истекло время ожидания.

  • Говорят, что процесс blocked, если он ожидает какого-либо события, прежде чем он сможет продолжить.

На следующем рисунке показан процесс, который показывает переход между запущенным, готовым и заблокированным.

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

Блок управления процессом

Блок управления процессами представляет каждый процесс в операционной системе. PCB - это структура данных, содержащая следующую информацию о процессе.

  • Текущее рабочее состояние процесса

  • Приоритет процессов, находящихся в состоянии готовности

  • Параметры расписания ЦП

  • Сохраняет содержимое ЦП, когда процесс прерывается

  • Выделение памяти процессу

  • Присутствуют детали процесса, такие как его номер, использование ЦП и т. Д.

  • Состояние событий и ресурсов ввода-вывода, связанных с процессом

PCB имеет всю информацию о процессах, которые будут выполняться следующими, когда она получит процессор. Регистры CPU включаютProgram Status Word (PSW), который содержит адрес следующей инструкции, которая должна быть выполнена, типы прерываний, разрешенных или запрещенных в данный момент, и т. Д.

Пока ЦП выполняет какой-то процесс, этот процесс необходимо переключить, когда текущий выполняющийся процесс блокируется или происходит событие или прерывание, которое запускает процесс с высоким приоритетом. Такая ситуация называетсяProcess Switching, который также известен как Context Switching. Такой механизм приоритета прерывания описан на следующем рисунке.

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

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

Совместное использование ресурсов

Каждый раз, когда процесс использует общую таблицу или какой-либо общий ресурс, все остальные процессы, которым это необходимо, должны оставаться в ожидании. Когда запущенный процесс завершит использование ресурса, он будет выделен первому приоритетному готовому процессу, который будет ожидать. Этот процесс использования общих ресурсов называетсяMutual Exclusion. Процесс, который обращается к общему ресурсу, считается находящимся в егоCritical Section или же Critical Region. Взаимное исключение подразумевает, что только один процесс может находиться в критической области в любом случае для данного общего ресурса. Кодирование процесса в критическом разделе выполняется очень тщательно, чтобы не было бесконечных циклов. Это помогает избежать блокировки процесса. Проделанная работа более точная и эффективная. Это помогает другим ожидающим процессам.

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

На следующем рисунке показано, как работает этот процесс -

Если два или более процессов в семафоре ждут ресурса бесконечно и не получают ноль для возврата в состояние блока, в то время как другие процессы ждут в заблокированном состоянии использования того же ресурса, в то время как ни один из них не может использовать ресурс, но ждет, например состояние называется Deadlock State.

Эти методы были разработаны для предотвращения, предотвращения, обнаружения и восстановления взаимоблокировок. Таким образом, они охватывают основные функции операционной системы для переключения процессоров.

Производство программного обеспечения

Производство программного обеспечения SPC важно из-за его сложности и размера программного обеспечения, а также его долгого срока службы и надежности, доступности и переносимости.

Производство программного обеспечения - это отрасль разработки программного обеспечения, которая занимается проблемами, возникающими при производстве и обслуживании крупномасштабного программного обеспечения для сложных систем. Практика разработки программного обеспечения делится на четыре этапа. Эти этапы составляют производство программных систем.

  • Функциональные характеристики
  • Официальное описание и подробные характеристики
  • Кодирование и проверка
  • Тестирование и отладка

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

С введением управления хранимыми программами подписчикам может быть предоставлено множество новых или улучшенных услуг. Множество видов расширенных услуг, таких как сокращенный набор, записанные телефонные звонки или звонки без набора номера, обратный звонок, когда бесплатный, переадресация звонков, ответ оператора, запись звонящего номера, ожидание звонка, удержание консультации, конференц-звонки, автоматический будильник, запрет ЗППП, злонамеренный звонок трассировка и т. д. все вводятся с этими изменениями в телефонии.

Многоступенчатые сети

Многоступенчатые сети - это сети, построенные для более эффективного обеспечения соединений между большим количеством абонентов, чем системы коммутации Crossbar.

Сети коммутации Crossbar, обсужденные ранее, имеют некоторые ограничения, описанные ниже:

  • Количество точек пересечения будет квадратом количества подключенных станций, и, следовательно, это дорого обходится для большого коммутатора.

  • Отказ Crosspoint препятствует соединению с теми двумя абонентами, между которыми соединен Crosspoint.

  • Даже если все подключенные устройства активны, используются только несколько точек пересечения

Чтобы найти решение для субсидирования этих недостатков, были построены многоступенчатые переключатели с пространственным разделением. Разделив коммутатор Crossbar на более мелкие блоки и соединяя их между собой, можно построить многоступенчатые коммутаторы с меньшим количеством точек пересечения. На следующем рисунке показан пример многоступенчатого переключателя.

Многоступенчатый переключатель, подобный описанному выше, требует меньшего количества точек пересечения, чем количество точек пересечения, необходимое для коммутации кроссбаров. Согласно приведенному выше примеру для 8 (вход) и 8 (выход) различных абонентов (как вызываемых, так и вызывающих абонентов) точки пересечения, необходимые в обычной сети Crossbar, будут квадратными из них, что составляет 64. Однако в многоступенчатая сеть Crossbar, достаточно всего 40 Crosspoints. Это показано на диаграмме выше. В большом многоступенчатом переключателе Crossbar уменьшение более значительное.

Преимущества многоступенчатой ​​сети

Преимущества многоступенчатой ​​сети следующие:

  • Количество поперечин уменьшено.
  • Количество путей подключения может быть больше.

Недостатки многоступенчатой ​​сети

Недостатки многоступенчатой ​​сети следующие -

  • Многоступенчатые переключатели могут вызвать Blocking.

  • Если увеличить количество или размер промежуточных переключателей, можно решить эту проблему, но с этим возрастет стоимость.

Блокировка

Блокировка уменьшает количество точек пересечения. Следующая диаграмма поможет вам лучше понять блокировку.

На приведенном выше рисунке, где имеется 4 входа и 2 выхода, абонент 1 был подключен к линии 3, а абонент 2 был подключен к линии 4. Линии красного цвета обозначают соединения. Однако запросов будет больше; запрос вызова от абонента 3 и абонента 4, если он сделан, не может быть обработан, так как вызов не может быть установлен.

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