TSSN - Softwarearchitektur
In diesem Kapitel lernen wir die Softwarearchitektur von Telekommunikationsvermittlungssystemen und -netzen kennen.
Die Software der SPC-Systeme kann zum besseren Verständnis in zwei Kategorien eingeteilt werden: System Software und Application Software. Die Softwarearchitektur befasst sich mit der Systemsoftwareumgebung von SPC einschließlich der Sprachprozessoren. Viele Funktionen zusammen mit der Anrufverarbeitung sind Teil des Betriebssystems, unter dem Operationen und Verwaltungsfunktionen ausgeführt werden.
Die Anrufverarbeitung ist die Hauptverarbeitungsfunktion, die ereignisorientiert ist. Das Ereignis, das an der Leitung oder Amtsleitung des Teilnehmers auftritt, löst die Anrufverarbeitung aus. Der Anrufaufbau erfolgt nicht in einer fortlaufenden Verarbeitungssequenz in der Vermittlungsstelle. Dieser gesamte Prozess steht im Einklang mit vielen elementaren Prozessen, die einige zehn oder hundert Millisekunden dauern, und viele Anrufe werden gleichzeitig als solche verarbeitet, und jeder Anruf wird von einem separaten Anruf bearbeitetProcess. Ein Prozess ist eine aktive Entität, die aprogram in execution, manchmal sogar als bezeichnet task.
Prozess in einer Multiprogrammierumgebung
In diesem Abschnitt werden wir sehen, was ein Prozess in einer Multiprogrammierumgebung ist. Ein Prozess in einer Multiprogrammierumgebung kann einer der folgenden sein:
- Running
- Ready
- Blocked
Der Status eines Prozesses wird durch seine aktuelle Aktivität und den von ihm ausgeführten Prozess sowie die Übergänge definiert, die sein Status durchläuft.
Ein Prozess soll sein running, wenn gerade eine Anweisung vom Prozessor ausgeführt wird.
Ein Prozess soll sein ready Wenn die nächste Anweisung zum Ausführen eines Prozesses wartet oder eine Anweisung mit Zeitüberschreitung vorliegt.
Ein Prozess soll sein blocked, Wenn es darauf wartet, dass ein Ereignis eintritt, bevor es fortgesetzt werden kann.
Die folgende Abbildung zeigt den Prozess, der den Übergang zwischen Ausführen, Bereit und Blockiert zeigt.
Während einige Prozesse ausgeführt werden, befinden sich einige im Bereitschaftszustand, während andere blockiert sind. Die Prozesse in der Bereitschaftsliste richten sich nach den Prioritäten. Die blockierten Prozesse sind ungeordnet und werden in der Reihenfolge entsperrt, in der die Ereignisse auf das Eintreten warten. Wenn ein Prozess nicht ausgeführt wird und auf eine andere Anweisung oder Ressource wartet, wird die Prozessorzeit gespart, indem dieser Prozess in die Bereitschaftsliste verschoben wird, und wird entsperrt, wenn seine Priorität hoch ist.
Prozesssteuerungsblock
Der Prozesssteuerungsblock repräsentiert jeden Prozess im Betriebssystem. PCB ist eine Datenstruktur, die die folgenden Informationen zum Prozess enthält.
Aktueller Betriebszustand des Prozesses
Prozesspriorität, die bereit ist
CPU-Planungsparameter
Speichert den Inhalt der CPU, wenn ein Prozess unterbrochen wird
Speicherzuordnung zum Prozess
Die Details des Prozesses wie Anzahl, CPU-Auslastung usw. sind vorhanden
Status der Ereignisse und E / A-Ressourcen, die dem Prozess zugeordnet sind
Die Leiterplatte enthält alle Informationen zu den Prozessen, die als Nächstes ausgeführt werden sollen, wenn sie die CPU erhält. Die CPU-Register enthalten aProgram Status Word (PSW), die die Adresse des nächsten auszuführenden Befehls, die derzeit aktivierten oder deaktivierten Interrupt-Typen usw. enthält.
Während die CPU einen Prozess ausführt, muss dieser Prozess umgeschaltet werden, wenn der aktuell ausgeführte Prozess blockiert wird oder ein Ereignis oder eine Unterbrechung auftritt, die einen Prozess mit hoher Priorität auslöst. Eine solche Situation heißtProcess Switching, was auch bekannt ist als Context Switching. Ein solcher Interrupt-Prioritätsmechanismus ist in der folgenden Abbildung beschrieben.
Wenn ein Prozess Ascannt eine bestimmte Teilnehmerleitung und findet sie frei, dann baut der Prozess einen Anruf mit diesem Teilnehmer auf. Wenn jedoch ein anderer Prozess B die Priorität beansprucht und gleichzeitig einen Anruf mit demselben Teilnehmer herstellt, müssen beide Prozesse gleichzeitig denselben Teilnehmer anrufen, was nicht naheliegend ist. Ein ähnliches Problem kann auch bei anderen freigegebenen Tabellen und Dateien auftreten.
Informationen über die Ressourcen der Vermittlungsstelle (Amtsleitungen, Register usw.) und deren aktuelle Verwendung werden in Form von Tabellen gespeichert. Diese Tabellen werden bei Bedarf von verschiedenen Prozessen gemeinsam genutzt. Das Problem tritt auf, wenn zwei oder mehr Prozesse gleichzeitig dieselbe Tabelle auswählen. Dieses Problem kann gelöst werden, indem auf jeden Prozess Zugriff auf eine gemeinsam genutzte Tabelle gewährt wird.
Ressourcen teilen
Wenn ein Prozess eine gemeinsam genutzte Tabelle oder eine gemeinsam genutzte Ressource verwendet, müssen alle anderen Prozesse, die dieselbe benötigen, warten. Wenn der laufende Prozess die Verwendung der Ressource beendet hat, wird sie dem ersten priorisierten Bereitschaftsprozess zugewiesen, der gewartet wird. Dieser Prozess der Verwendung der gemeinsam genutzten Ressourcen wird aufgerufenMutual Exclusion. Der Prozess, der auf die gemeinsam genutzte Ressource zugreift, soll sich in seiner befindenCritical Section oder Critical Region. Gegenseitiger Ausschluss bedeutet, dass sich für eine bestimmte gemeinsam genutzte Ressource jeweils nur ein Prozess im kritischen Bereich befinden kann. Die Codierung für den Prozess im kritischen Bereich erfolgt sehr sorgfältig, damit keine Endlosschleifen vorhanden sind. Dies hilft dabei, dass der Prozess nicht blockiert wird. Die geleistete Arbeit ist genauer und effizienter. Dies hilft den anderen Prozessen, die warten.
Wenn zwei Prozesse in einem Semaphor eine gemeinsame Ressource gemeinsam nutzen müssen, wird diese von ihnen für bestimmte Zeitintervalle gemeinsam genutzt. Während einer die Ressource nutzt, wartet der andere. Während des Wartens liest es die bis dahin geschriebene Aufgabe, um mit der anderen synchron zu sein. Dies bedeutet, dass der Status dieses Prozesses ungleich Null sein und weiter inkrementiert werden sollte, was andernfalls an die Sperrliste gesendet würde. Die Prozesse in der Sperrliste sind übereinander gestapelt und dürfen die Ressource entsprechend der Priorität verwenden.
Die folgende Abbildung zeigt, wie der Prozess funktioniert -
Wenn zwei oder mehr Prozesse in einem Semaphor unbegrenzt auf eine Ressource warten und nicht Null erhalten, um in den Blockierungszustand zurückzukehren, während andere Prozesse im blockierten Status auf die Verwendung derselben Ressource warten, während keiner die Ressource verwenden kann, sondern warten kann, wie z ein Zustand heißt der Deadlock State.
Die Techniken wurden zur Verhinderung, Vermeidung, Erkennung und Wiederherstellung von Deadlocks entwickelt. Daher decken diese die herausragenden Merkmale des Betriebssystems zum Umschalten von Prozessoren ab.
Software-Produktion
Die SPC-Softwareproduktion ist wichtig aufgrund ihrer Komplexität und Größe der Software sowie ihrer langen Lebensdauer und Zuverlässigkeit, Verfügbarkeit und Portabilität.
Die Softwareproduktion ist der Zweig der Softwareentwicklung, der sich mit den Problemen befasst, die bei der Produktion und Wartung von Software in großem Maßstab für komplexe Systeme auftreten. Die Praxis des Software-Engineerings ist in vier Phasen unterteilt. Diese Phasen machen die Produktion von Softwaresystemen wieder wett.
- Funktionsspezifikationen
- Formale Beschreibung und detaillierte Spezifikationen
- Codierung und Verifizierung
- Testen und Debuggen
Die Anwendungssoftware eines Vermittlungssystems kann in Anrufverarbeitungssoftware, Verwaltungssoftware und Wartungssoftware unterteilt werden; Die Anwendungssoftwarepakete eines Vermittlungssystems sind modular aufgebaut.
Mit der Einführung der gespeicherten Programmsteuerung können den Abonnenten eine Vielzahl neuer oder verbesserter Dienste zur Verfügung gestellt werden. Viele Arten erweiterter Dienste wie Kurzwahl, aufgezeichnete Nummernanrufe oder keine Anrufe, Rückruf, wenn kostenlos, Anrufweiterleitung, Anrufbeantworter, Anrufnummernaufzeichnung, Anklopfen, Abhalten von Konsultationen, Telefonkonferenzen, automatischer Alarm, STD-Sperre, böswilliger Anruf Tracing usw. werden alle mit diesen Änderungen in der Telefonie eingeführt.
Mehrstufige Netzwerke
Die mehrstufigen Netzwerke sind Netzwerke, die so aufgebaut sind, dass sie Verbindungen zwischen mehr Teilnehmern effizienter herstellen als die Crossbar-Vermittlungssysteme.
Die zuvor diskutierten Crossbar-Vermittlungsnetzwerke weisen einige Einschränkungen auf, wie nachstehend beschrieben -
Die Anzahl der Kreuzungspunkte ist das Quadrat der Anzahl der angeschlossenen Stationen, und daher ist dies für einen großen Switch kostspielig.
Der Ausfall von Crosspoint verhindert die Verbindung mit den beiden Teilnehmern, zwischen denen der Crosspoint verbunden ist.
Selbst wenn alle angeschlossenen Geräte aktiv sind, werden nur wenige der Crosspoints verwendet
Um eine Lösung zur Subventionierung dieser Nachteile zu finden, wurden die mehrstufigen Raumteilungsschalter gebaut. Durch Aufteilen des Crossbar-Switches in kleinere Einheiten und deren Verbindung können mehrstufige Switches mit weniger Crosspoints erstellt werden. Die folgende Abbildung zeigt ein Beispiel für einen mehrstufigen Switch.
Der mehrstufige Switch wie der oben genannte benötigt weniger Crosspoints als die beim Crossbar-Switching benötigten. Gemäß dem oben gezeigten Beispiel sind für die verschiedenen Teilnehmer 8 (Eingabe) und 8 (Ausgabe) (sowohl angerufene als auch anrufende Teilnehmer) die in einem normalen Crossbar-Netzwerk benötigten Kreuzungspunkte quadratisch von diesen, was 64 ist mehrstufiges Crossbar-Netzwerk, nur 40 Crosspoints reichen aus. Dies ist wie in der obigen Abbildung gezeigt. Bei einem großen mehrstufigen Crossbar-Schalter ist die Reduzierung signifikanter.
Vorteile eines mehrstufigen Netzwerks
Die Vorteile eines mehrstufigen Netzwerks sind folgende:
- Die Anzahl der Querbalken wird reduziert.
- Die Anzahl der Verbindungspfade kann größer sein.
Nachteile eines mehrstufigen Netzwerks
Der Nachteil eines mehrstufigen Netzwerks ist folgender:
Mehrstufige Schalter können dazu führen Blocking.
Die Anzahl oder Größe der Zwischenschalter kann dieses Problem lösen, wenn sie erhöht werden, aber die Kosten steigen damit.
Blockierung
Durch das Blockieren wird die Anzahl der Kreuzungspunkte verringert. Das folgende Diagramm hilft Ihnen dabei, das Blockieren besser zu verstehen.
In der obigen Abbildung mit 4 Eingängen und 2 Ausgängen war der Teilnehmer 1 mit Leitung 3 und der Teilnehmer 2 mit Leitung 4 verbunden. Die roten Linien geben die Verbindungen an. Es werden jedoch weitere Anfragen kommen; Eine Anrufanforderung von Teilnehmer 3 und Teilnehmer 4 kann nicht verarbeitet werden, da der Anruf nicht hergestellt werden kann.
Die Teilnehmer des obigen Blocks stehen ebenfalls (wie im obigen Diagramm gezeigt) vor dem gleichen Problem. Es können jeweils nur zwei Blöcke verbunden werden. Das Anschließen von mehr als zwei oder allen Eingängen ist nicht möglich (dies hängt von der Anzahl der vorhandenen Ausgänge ab). Daher können nicht mehrere Verbindungen gleichzeitig hergestellt werden, was als blockierte Anrufe verstanden wird.