TSSN - Architettura software
In questo capitolo apprenderemo l'architettura software dei sistemi e delle reti di commutazione delle telecomunicazioni.
Il software dei sistemi SPC può essere classificato in due per una migliore comprensione: System Software e Application Software. L'architettura software si occupa dell'ambiente software di sistema di SPC inclusi i processori del linguaggio. Molte funzionalità insieme all'elaborazione delle chiamate fanno parte del sistema operativo in cui vengono eseguite le operazioni e le funzioni di gestione.
L'elaborazione delle chiamate è la funzione di elaborazione principale, orientata agli eventi. L'evento che si verifica sulla linea o sulla linea dell'abbonato attiva l'elaborazione della chiamata. L'impostazione della chiamata non viene eseguita in una sequenza di elaborazione continua nello scambio. L'intero processo è coerente con molti processi elementari che durano poche decine o centinaia di millisecondi e molte chiamate vengono elaborate come tali contemporaneamente e ogni chiamata viene gestita da unProcess. Un processo è un'entità attiva che è un fileprogram in execution, a volte anche definito come a task.
Processo in un ambiente multiprogrammazione
In questa sezione vedremo cos'è un processo in un ambiente multiprogrammazione. Un processo in un ambiente multiprogrammazione può essere uno dei seguenti:
- Running
- Ready
- Blocked
Lo stato di un processo è definito dalla sua attività corrente e dal processo che esegue e dalle transizioni che subisce il suo stato.
Si dice che sia un processo running, se un'istruzione è attualmente in esecuzione dal processore.
Si dice che sia un processo ready se la successiva istruzione di esecuzione di un processo è in attesa o ha un'istruzione scaduta.
Si dice che sia un processo blocked, se attende che si verifichi un evento prima di poter procedere.
La figura seguente indica il processo che mostra la transizione tra in esecuzione, pronto e bloccato.
Mentre alcuni processi sono in esecuzione, alcuni saranno nello stato pronto mentre altri saranno bloccati. I processi nell'elenco pronto saranno in base alle priorità. I processi bloccati non sono ordinati e si sbloccano nell'ordine in cui gli eventi sono in attesa di verificarsi. Se un processo non viene eseguito e attende qualche altra istruzione o risorsa, il tempo del processore viene salvato inserendo tale processo nell'elenco pronto e verrà sbloccato quando la sua priorità è alta.
Blocco di controllo del processo
Il blocco di controllo del processo rappresenta ogni processo nel sistema operativo. PCB è una struttura dati contenente le seguenti informazioni sul processo.
Stato di esecuzione corrente del processo
Priorità del processo che sono nello stato pronto
Parametri di pianificazione della CPU
Salva il contenuto della CPU, quando un processo viene interrotto
Allocazione della memoria al processo
Sono presenti i dettagli del processo come il numero, l'utilizzo della CPU, ecc
Stato degli eventi e delle risorse di I / O associati al processo
PCB ha tutte le informazioni sui processi da eseguire successivamente quando riceve la CPU. I registri della CPU includono un fileProgram Status Word (PSW) che contiene l'indirizzo della prossima istruzione da eseguire, i tipi di interrupt attualmente abilitati o disabilitati, ecc.
Mentre la CPU esegue un processo, quel processo deve essere cambiato quando il processo attualmente in esecuzione viene bloccato o si verifica un evento o un interrupt che attiva un processo ad alta priorità. Tale situazione è chiamataProcess Switching, noto anche come Context Switching. Tale meccanismo di priorità degli interrupt è descritto nella figura seguente.
Se un processo Aesegue la scansione di una particolare linea di abbonato e la trova libera, quindi il processo stabilisce una chiamata con tale abbonato. Tuttavia, se un altro processo B rivendica la priorità e stabilisce una chiamata con lo stesso abbonato allo stesso tempo, entrambi i processi devono effettuare una chiamata allo stesso abbonato contemporaneamente, il che non è suggeribile. Un problema simile potrebbe verificarsi anche con altre tabelle e file condivisi.
Le informazioni sulle risorse dello scambio (tronchi, registri, ecc.) E il loro attuale utilizzo sono conservate sotto forma di tabelle. Queste tabelle, quando necessario, vengono condivise da processi diversi. Il problema si verifica quando due o più processi optano per la stessa tabella contemporaneamente. Questo problema può essere risolto dando accesso a ogni processo a una tabella condivisa.
Condivisione delle risorse
Ogni volta che un processo utilizza una tabella condivisa o una risorsa condivisa, tutti gli altri processi che necessitano dello stesso devono essere tenuti in attesa. Quando il processo in esecuzione termina di utilizzare la risorsa, verrà assegnato al primo processo pronto con priorità che viene mantenuto in attesa. Questo processo di utilizzo delle risorse condivise viene chiamatoMutual Exclusion. Il processo, che sta accedendo alla risorsa condivisa, si dice che sia nella suaCritical Section o Critical Region. L'esclusione reciproca implica che solo un processo può trovarsi nella regione critica in qualsiasi istanza per una data risorsa condivisa. La codifica per il processo nella sezione critica viene eseguita con molta attenzione in modo che non ci siano cicli infiniti. Questo aiuta a non bloccare il processo. Il lavoro svolto è più accurato ed efficiente. Questo aiuta gli altri processi che stanno aspettando.
Se due processi in un semaforo devono condividere una risorsa comune, questa viene condivisa da loro per determinati intervalli di tempo. Mentre uno usa la risorsa, l'altro aspetta. Ora, in attesa, per essere sincronizzato con l'altro, legge il task che è stato scritto fino ad allora. Ciò significa che lo stato di quel processo dovrebbe essere diverso da zero e dovrebbe continuare ad aumentare, che altrimenti verrebbe inviato all'elenco bloccato. I processi che si trovano nell'elenco bloccato vengono impilati uno sull'altro e possono utilizzare la risorsa in base alla priorità.
La figura seguente mostra come funziona il processo:
Se due o più processi in un semaforo attendono indefinitamente una risorsa e non ottengono zero per tornare allo stato di blocco, mentre altri processi aspettano nello stato bloccato per l'utilizzo della stessa risorsa mentre nessuno potrebbe utilizzare la risorsa ma attendere, tale uno stato è chiamato Deadlock State.
Le tecniche sono state sviluppate per la prevenzione, l'elusione, il rilevamento e il ripristino dei deadlock. Pertanto, questi coprono le caratteristiche salienti del sistema operativo per la commutazione dei processori.
Produzione di software
La produzione del software SPC è importante a causa della sua complessità e dimensione del software insieme alla sua lunga durata e affidabilità, disponibilità e portabilità.
La produzione di software è quella branca dell'ingegneria del software che si occupa dei problemi incontrati nella produzione e manutenzione di software su larga scala per sistemi complessi. La pratica dell'ingegneria del software è suddivisa in quattro fasi. Queste fasi compensano la produzione di sistemi software.
- Specifiche funzionali
- Descrizione formale e specifiche dettagliate
- Codifica e verifica
- Test e debug
Il software applicativo di un sistema di commutazione può essere suddiviso in software di elaborazione delle chiamate, software amministrativo e software di manutenzione; i pacchetti software applicativi di un sistema di commutazione utilizzano un'organizzazione modulare.
Con l'introduzione dello Stored Program Control, è possibile mettere a disposizione degli abbonati una serie di servizi nuovi o migliorati. Molti tipi di servizi avanzati come composizione abbreviata, chiamate con numeri registrati o chiamate senza composizione, richiamata quando libera, inoltro di chiamata, risposta dell'operatore, registrazione del numero chiamante, avviso di chiamata, consultazione in attesa, chiamate in conferenza, allarme automatico, blocco STD, chiamata dannosa tracciamento, ecc. vengono tutti introdotti con questi cambiamenti nella telefonia.
Reti multistadio
Le reti multistadio sono le reti costruite per fornire connessioni tra più abbonati in modo più efficiente rispetto ai sistemi di commutazione Crossbar.
Le reti di commutazione Crossbar discusse in precedenza hanno alcune limitazioni come descritto di seguito:
Il numero di Crosspoint sarà il quadrato del numero di stazioni collegate e quindi questo è costoso per un grande interruttore.
Il fallimento di Crosspoint impedisce la connessione con quei due abbonati tra i quali è connesso Crosspoint.
Anche se tutti i dispositivi collegati sono attivi, vengono utilizzati solo pochi Crosspoint
Per trovare una soluzione per sovvenzionare questi svantaggi, sono stati costruiti gli interruttori a divisione di spazio multistadio. Dividendo lo switch Crossbar in unità più piccole e collegandole tra loro, è possibile costruire switch multistadio con meno Crosspoint. La figura seguente mostra un esempio di un interruttore multistadio.
L'interruttore multistadio come quello sopra necessita di un numero inferiore di punti d'incrocio rispetto a quelli necessari per il cambio traversa. Secondo l'esempio mostrato sopra, per i vari abbonati 8 (ingresso) e 8 (uscita) (sia chiamati che chiamanti), i Crosspoint necessari in una normale rete Crossbar saranno al quadrato di essi, che è 64. Tuttavia, nel rete Crossbar multistadio, bastano solo 40 Crosspoint. Questo è come mostrato nel diagramma sopra. In un interruttore Crossbar multistadio di grandi dimensioni, la riduzione è più significativa.
Vantaggi di una rete multistadio
I vantaggi di una rete multistadio sono i seguenti:
- Il numero di Crossbars è ridotto.
- Il numero di percorsi di connessione può essere maggiore.
Svantaggi di una rete multistadio
Gli svantaggi di una rete multistadio sono i seguenti:
Possono causare interruttori multistadio Blocking.
Il numero o la dimensione degli interruttori intermedi, se aumentati, può risolvere questo problema, ma il costo aumenta con questo.
Blocco
Il blocco riduce il numero di Crosspoint. Il diagramma seguente ti aiuterà a capire meglio il blocco.
Nella figura sopra, dove sono presenti 4 ingressi e 2 uscite, l'abbonato 1 era collegato alla linea 3 e l'abbonato 2 era collegato alla linea 4. Le linee rosse indicano i collegamenti. Tuttavia, ci saranno altre richieste in arrivo; una richiesta di chiamata dall'abbonato 3 e dall'abbonato 4, se effettuata, non può essere elaborata, poiché la chiamata non può essere stabilita.
Anche gli abbonati del blocco precedente (come mostrato nel diagramma sopra) affrontano lo stesso problema. È possibile collegare solo due blocchi alla volta; non è possibile collegare più di due o tutti gli ingressi (in quanto dipende dal numero di uscite presenti). Pertanto, non è possibile stabilire più connessioni contemporaneamente, il che è inteso come blocco delle chiamate.