TSSN - Arquitetura de Software

Neste capítulo, aprenderemos sobre a Arquitetura de Software de Sistemas e Redes de Comutação de Telecomunicações.

O software dos sistemas SPC pode ser categorizado em dois para melhor compreensão - System Software e Application Software. A arquitetura de software lida com o ambiente de software do sistema do SPC incluindo os processadores de linguagem. Muitos recursos, junto com o processamento de chamadas, fazem parte do sistema operacional sob o qual as operações e funções de gerenciamento são realizadas.

O processamento de chamadas é a principal função de processamento, que é orientada a eventos. O evento que ocorre na linha ou tronco do assinante aciona o processamento da chamada. A configuração da chamada não é feita em uma sequência de processamento contínuo na central. Todo este processo é consistente com muitos processos elementares que duram algumas dezenas ou centenas de milissegundos e muitas chamadas são processadas como tal simultaneamente e cada chamada é tratada por umProcess. Um processo é uma entidade ativa que é umprogram in execution, às vezes até denominado como um task.

Processo em um ambiente de multiprogramação

Nesta seção, veremos o que é um processo em um ambiente de multiprogramação. Um processo em um ambiente de multiprogramação pode ser um dos seguintes -

  • Running
  • Ready
  • Blocked

O estado de um processo é definido por sua atividade atual, o processo que ele executa e as transições pelas quais seu estado passa.

  • Um processo é dito ser running, se uma instrução estiver sendo executada pelo processador.

  • Um processo é dito ser ready se a próxima instrução de execução de um processo estiver esperando ou tiver uma instrução que expirou.

  • Um processo é dito ser blocked, se estiver esperando que algum evento ocorra antes de prosseguir.

A figura a seguir indica o processo que mostra a transição entre em execução, pronto e bloqueado.

Enquanto alguns processos estão no estado de execução, alguns estarão no estado pronto enquanto outros estão bloqueados. Os processos da lista pronta estarão de acordo com as prioridades. Os processos bloqueados são desordenados e desbloqueados na ordem em que os eventos estão aguardando para ocorrer. Se um processo não é executado e espera por alguma outra instrução ou recurso, o tempo do processador é economizado empurrando tal processo para a lista pronta e será desbloqueado quando sua prioridade for alta.

Bloco de Controle de Processo

O bloco de controle de processo representa cada processo no sistema operacional. PCB é uma estrutura de dados que contém as seguintes informações sobre o processo.

  • Estado de execução atual do processo

  • Prioridades de processo que estão no estado pronto

  • Parâmetros de programação da CPU

  • Salva o conteúdo da CPU, quando um processo é interrompido

  • Alocação de memória para o processo

  • Os detalhes do processo como seu número, uso de CPU etc. estão presentes

  • Status de eventos e recursos de I / O que estão associados ao processo

O PCB tem todas as informações sobre os processos a serem executados a seguir quando ele obtém a CPU. Os registros da CPU incluem umProgram Status Word (PSW) que contém o endereço da próxima instrução a ser executada, os tipos de interrupções habilitadas ou desabilitadas atualmente, etc.

Enquanto a CPU executa algum processo, esse processo precisa ser alternado quando o processo atualmente em execução é bloqueado ou ocorre um evento ou interrupção que dispara um processo de alta prioridade. Tal situação é chamadaProcess Switching, que também é conhecido como Context Switching. Esse mecanismo de prioridade de interrupção é descrito na figura a seguir.

Se um processo Afaz uma varredura em uma linha de assinante específica e a encontra de graça, então o processo estabelece uma chamada com esse assinante. No entanto, se outro processo B reivindicar a prioridade e estabelecer uma chamada com o mesmo assinante ao mesmo tempo, então ambos os processos precisam fazer uma chamada para o mesmo assinante ao mesmo tempo, o que não é sugerido. Um problema semelhante também pode ocorrer com outras tabelas e arquivos compartilhados.

As informações sobre os recursos da central (troncos, registros etc.) e sua utilização atual são mantidas em forma de tabelas. Essas tabelas, quando necessárias, são compartilhadas por diferentes processos. O problema ocorre quando dois ou mais processos optam pela mesma mesa ao mesmo tempo. Este problema pode ser resolvido dando acesso a cada processo a uma tabela compartilhada.

Compartilhando recursos

Sempre que um processo usa uma tabela compartilhada ou qualquer recurso compartilhado, todos os outros processos que precisam do mesmo devem ser mantidos em espera. Quando o processo em execução terminar de usar o recurso, ele será atribuído ao primeiro processo pronto priorizado, que está aguardando. Este processo de usar os recursos compartilhados é chamadoMutual Exclusion. O processo, que está acessando o recurso compartilhado, está em seuCritical Section ou Critical Region. A exclusão mútua implica que apenas um processo pode estar na região crítica em qualquer instância para um determinado recurso compartilhado. A codificação para que o processo esteja na seção crítica é feita com muito cuidado para que não haja loops infinitos. Isso ajuda no processo não ser bloqueado. O trabalho realizado é mais preciso e eficiente. Isso ajuda os outros processos que estão esperando.

Se dois processos em um semáforo precisarem compartilhar um recurso comum, ele será compartilhado por eles por determinados intervalos de tempo. Enquanto um usa o recurso, o outro espera. Agora, enquanto espera, para estar em sincronia com o outro, ele lê a tarefa que foi escrita até então. Isso significa que o estado desse processo deve ser diferente de zero e deve continuar aumentando, caso contrário, seria enviado para a lista de bloqueados. Os processos que estão na lista de bloqueados são empilhados uns sobre os outros e podem usar o recurso de acordo com a prioridade.

A figura a seguir mostra como funciona o processo -

Se dois ou mais processos em um semáforo aguardam indefinidamente por um recurso e não obtém zero para retornar ao estado de bloqueio, enquanto outros processos aguardam no estado bloqueado para o uso do mesmo recurso, enquanto nenhum poderia usar o recurso, mas esperar, tal um estado é chamado de Deadlock State.

As técnicas foram desenvolvidas para prevenção, prevenção, detecção e recuperação de deadlock. Portanto, eles cobrem os principais recursos do sistema operacional para a troca de processadores.

Produção de Software

A produção de software SPC é importante devido à sua complexidade e tamanho do software, juntamente com sua longa vida útil e confiabilidade, disponibilidade e portabilidade.

A produção de software é o ramo da engenharia de software que lida com os problemas encontrados na produção e manutenção de software de grande escala para sistemas complexos. A prática da engenharia de software é categorizada em quatro estágios. Essas etapas constituem a produção de sistemas de software.

  • Especificações funcionais
  • Descrição formal e especificações detalhadas
  • Codificação e verificação
  • Teste e depuração

O software aplicativo de um sistema de comutação pode ser dividido em software de processamento de chamadas, software administrativo e software de manutenção; os pacotes de software de aplicação de um sistema de comutação usam uma organização modular.

Com a introdução do Stored Program Control, uma série de serviços novos ou aprimorados podem ser disponibilizados para os assinantes. Muitos tipos de serviços avançados, como discagem abreviada, número de chamadas gravadas ou chamadas sem discagem, retorno de chamada quando livre, encaminhamento de chamadas, atendimento da operadora, registro do número da chamada, chamada em espera, consulta em espera, chamadas em conferência, alarme automático, bloqueio de STD, chamada maliciosa rastreamento, etc. são todos introduzidos com essas mudanças na telefonia.

Redes Multi-Stage

As redes de vários estágios são as redes construídas para fornecer conexões entre mais assinantes de forma mais eficiente do que os sistemas de comutação Crossbar.

As redes de comutação Crossbar discutidas anteriormente têm algumas limitações, conforme descrito abaixo -

  • O número de Crosspoint será o quadrado do número de estações conectadas e, portanto, é caro para um switch grande.

  • A falha do Crosspoint impede a conexão com aqueles dois assinantes entre os quais o Crosspoint está conectado.

  • Mesmo se todos os dispositivos conectados estiverem ativos, apenas alguns dos Crosspoints são utilizados

A fim de encontrar uma solução para subsidiar essas desvantagens, foram construídos os interruptores de divisão espacial de vários estágios. Ao dividir o switch Crossbar em unidades menores e interconectá-los, é possível construir switches de vários estágios com menos Crosspoints. A figura a seguir mostra um exemplo de uma chave de vários estágios.

O switch multiestágio como o acima precisa de menos número de Crosspoints do que os necessários na troca de Crossbar. De acordo com o exemplo mostrado acima, para os vários assinantes 8 (entrada) e 8 (saída) (assinantes chamados e chamadores), os Crosspoints necessários em uma rede Crossbar normal serão quadrados deles, que é 64. No entanto, no rede Crossbar de vários estágios, apenas 40 Crosspoints são suficientes. Isso é mostrado no diagrama acima. Em um grande switch Crossbar de vários estágios, a redução é mais significativa.

Vantagens de uma rede multiestágio

As vantagens de uma rede de vários estágios são as seguintes -

  • O número de barras transversais é reduzido.
  • O número de caminhos de conexão pode ser mais.

Desvantagens de uma rede multiestágio

As desvantagens de uma rede com vários estágios são as seguintes -

  • Chaves de estágios múltiplos podem causar Blocking.

  • O número ou o tamanho dos switches intermediários, se aumentados, podem resolver esse problema, mas o custo aumenta com isso.

Bloqueando

O bloqueio reduz o número de Crosspoints. O diagrama a seguir o ajudará a entender o bloqueio de uma maneira melhor.

Na figura acima, onde existem 4 entradas e 2 saídas, o assinante 1 foi conectado à linha 3 e o assinante 2 foi conectado à linha 4. As linhas vermelhas indicam as conexões. No entanto, haverá mais pedidos chegando; uma solicitação de chamada do assinante 3 e do assinante 4, se feita, não pode ser processada, pois a chamada não pode ser estabelecida.

Os assinantes do bloco acima também (conforme mostrado no diagrama acima) enfrentam o mesmo problema. Apenas dois blocos podem ser conectados por vez; conectar mais de duas ou todas as entradas não pode ser feito (pois depende do número de saídas presentes). Assim, não é possível estabelecer uma série de ligações em simultâneo, o que se entende como o bloqueio das chamadas.