TSSN - Architektura oprogramowania

W tym rozdziale poznamy architekturę oprogramowania telekomunikacyjnych systemów przełączających i sieci.

Oprogramowanie systemów SPC można podzielić na dwie kategorie w celu lepszego zrozumienia - System Software i Application Software. Architektura oprogramowania dotyczy systemowego środowiska oprogramowania SPC, w tym procesorów językowych. Wiele funkcji wraz z przetwarzaniem połączeń stanowi część systemu operacyjnego, w którym wykonywane są operacje i funkcje zarządzania.

Przetwarzanie wywołań jest główną funkcją przetwarzania, która jest zorientowana na zdarzenia. Zdarzenie, które występuje na linii abonenta lub linii miejskiej, wyzwala przetwarzanie połączenia. Konfiguracja połączenia nie jest wykonywana w jednej ciągłej sekwencji przetwarzania w centrali. Cały ten proces jest zgodny z wieloma podstawowymi procesami, które trwają od kilkudziesięciu do setek milisekund, a wiele wywołań jest przetwarzanych jednocześnie, a każde połączenie jest obsługiwane przez oddzielnyProcess. Proces to aktywna jednostka, która jestprogram in execution, czasami nawet określany jako task.

Proces w środowisku wieloprogramowym

W tej sekcji zobaczymy, czym jest proces w środowisku wieloprogramowym. Proces w środowisku wieloprogramowym może być jednym z następujących:

  • Running
  • Ready
  • Blocked

Stan procesu jest określany przez jego bieżącą aktywność i proces, który wykonuje, oraz przejścia, którym podlega jego stan.

  • Mówi się, że jest to proces running, jeśli instrukcja jest aktualnie wykonywana przez procesor.

  • Mówi się, że jest to proces ready jeśli kolejna instrukcja uruchomienia procesu oczekuje lub ma instrukcję, której upłynął limit czasu.

  • Mówi się, że jest to proces blocked, jeśli czeka na wystąpienie jakiegoś zdarzenia, zanim będzie można kontynuować.

Poniższy rysunek przedstawia proces, który pokazuje przejście między uruchomionym, gotowym i zablokowanym.

Podczas gdy niektóre procesy są w stanie działania, niektóre będą w stanie gotowości, a inne będą zablokowane. Procesy na gotowej liście będą zgodne z priorytetami. Zablokowane procesy są nieuporządkowane i odblokowują się w kolejności, w jakiej zdarzenia oczekują na wystąpienie. Jeśli proces nie jest wykonywany i czeka na inną instrukcję lub zasób, czas procesora jest oszczędzany przez wypychanie takiego procesu na listę gotowości i zostanie odblokowany, gdy jego priorytet będzie wysoki.

Blok kontroli procesu

Blok sterowania procesami reprezentuje każdy proces w systemie operacyjnym. PCB to struktura danych zawierająca następujące informacje o procesie.

  • Bieżący stan procesu

  • Priorytety procesów, które są w stanie gotowości

  • Parametry planowania procesora

  • Zapisuje zawartość procesora, gdy proces zostaje przerwany

  • Alokacja pamięci dla procesu

  • Dostępne są szczegóły procesu, takie jak jego numer, użycie procesora itp

  • Stan zdarzeń i zasobów we / wy powiązanych z procesem

PCB ma wszystkie informacje o procesach do wykonania w następnej kolejności, gdy otrzyma procesor. Rejestry procesora zawierają plikProgram Status Word (PSW), który zawiera adres następnej instrukcji do wykonania, typy przerwań włączonych lub wyłączonych obecnie itp.

Podczas gdy procesor wykonuje jakiś proces, proces ten musi zostać przełączony, gdy aktualnie działający proces zostanie zablokowany lub wystąpi zdarzenie lub przerwanie wyzwalające proces o wysokim priorytecie. Taka sytuacja nazywa sięProcess Switching, który jest również znany jako Context Switching. Taki mechanizm priorytetu przerwań jest opisany na poniższym rysunku.

Jeśli proces Askanuje określoną linię abonencką i stwierdza, że ​​jest wolna, a następnie proces nawiązuje połączenie z tym abonentem. Jeśli jednak inny proces B zastrzega sobie priorytet i ustanawia połączenie z tym samym abonentem w tym samym czasie, wówczas oba procesy muszą wykonać połączenie z tym samym abonentem w tym samym czasie, co nie jest sugerowane. Podobny problem może wystąpić również w przypadku innych udostępnionych tabel i plików.

Informacje o zasobach giełdy (pnie, rejestry itp.) I ich aktualnym wykorzystaniu są przechowywane w postaci tabel. Te tabele, gdy są potrzebne, są współużytkowane przez różne procesy. Problem występuje, gdy co najmniej dwa procesy wybierają tę samą tabelę w tym samym czasie. Ten problem można rozwiązać, przyznając dostęp do każdego procesu we wspólnej tabeli.

Udostępnianie zasobów

Za każdym razem, gdy proces korzysta ze wspólnej tabeli lub dowolnego udostępnionego zasobu, wszystkie inne procesy, które tego potrzebują, muszą czekać. Gdy działający proces zakończy korzystanie z zasobu, zostanie on przydzielony do pierwszego gotowego procesu o priorytecie, który będzie czekał. Ten proces korzystania ze współdzielonych zasobów nosi nazwęMutual Exclusion. Mówi się, że proces, który uzyskuje dostęp do udostępnionego zasobu, znajduje się w jegoCritical Section lub Critical Region. Wzajemne wykluczenie oznacza, że ​​tylko jeden proces może znajdować się w regionie krytycznym w dowolnej instancji dla danego współdzielonego zasobu. Kodowanie procesu w sekcji krytycznej jest wykonywane bardzo dokładnie, aby nie było nieskończonych pętli. Pomaga to w nie blokowaniu procesu. Wykonana praca jest dokładniejsza i wydajniejsza. Pomaga to innym oczekującym procesom.

Jeśli dwa procesy w semaforze muszą współużytkować wspólny zasób, jest on przez nie współdzielony w określonych odstępach czasu. Podczas gdy jeden korzysta z zasobu, drugi czeka. Teraz, czekając, aby zsynchronizować się z drugim, czyta zadanie, które było do tej pory napisane. Oznacza to, że stan tego procesu powinien być różny od zera i powinien być zwiększany, co w przeciwnym razie zostałoby wysłane na listę zablokowanych. Procesy znajdujące się na liście zablokowanych są ułożone jeden na drugim i mogą korzystać z zasobu zgodnie z priorytetem.

Poniższy rysunek pokazuje, jak działa ten proces -

Jeśli dwa lub więcej procesów w semaforze czeka w nieskończoność na zasób i nie otrzymuje zera, aby powrócić do stanu blokowego, podczas gdy inne procesy czekają w stanie zablokowanym na użycie tego samego zasobu, podczas gdy żaden nie może użyć zasobu, ale czeka, takie stan nazywa się Deadlock State.

Techniki zostały opracowane w celu zapobiegania zakleszczeniom, unikania, wykrywania i odtwarzania. Dlatego obejmują one najważniejsze funkcje systemu operacyjnego do przełączania procesorów.

Produkcja oprogramowania

Produkcja oprogramowania SPC jest ważna ze względu na jego złożoność i rozmiar oprogramowania, a także jego długą żywotność i niezawodność, dostępność i przenośność.

Produkcja oprogramowania to ta gałąź inżynierii oprogramowania, która zajmuje się problemami napotykanymi podczas produkcji i konserwacji oprogramowania na dużą skalę dla złożonych systemów. Praktyka inżynierii oprogramowania jest podzielona na cztery etapy. Te etapy składają się na produkcję systemów oprogramowania.

  • Specyfikacje funkcjonalne
  • Formalny opis i szczegółowe specyfikacje
  • Kodowanie i weryfikacja
  • Testowanie i debugowanie

Oprogramowanie użytkowe systemu przełączającego można podzielić na oprogramowanie do przetwarzania połączeń, oprogramowanie administracyjne i oprogramowanie do konserwacji; pakiety oprogramowania aplikacji systemu przełączającego wykorzystują organizację modułową.

Wraz z wprowadzeniem Stored Program Control, wiele nowych lub ulepszonych usług może zostać udostępnionych subskrybentom. Wiele rodzajów usług rozszerzonych, takich jak wybieranie skrócone, nagrane połączenia telefoniczne lub brak wybierania, oddzwanianie za darmo, przekazywanie połączeń, odpowiedź operatora, zapis numeru dzwoniącego, połączenie oczekujące, wstrzymanie konsultacji, połączenia konferencyjne, automatyczny alarm, blokada STD, złośliwe połączenie śledzenie itp. są wprowadzane wraz z tymi zmianami w telefonii.

Sieci wieloetapowe

Sieci wielostopniowe to sieci zbudowane w celu zapewnienia połączeń między większą liczbą abonentów skuteczniej niż systemy przełączające Crossbar.

Omówione wcześniej sieci przełączające Crossbar mają pewne ograniczenia opisane poniżej -

  • Liczba punktów krzyżowych będzie kwadratem liczby podłączonych stacji i dlatego jest to kosztowne w przypadku dużego przełącznika.

  • Awaria Crosspoint uniemożliwia połączenie z tymi dwoma abonentami, pomiędzy którymi jest połączony Crosspoint.

  • Nawet jeśli wszystkie podłączone urządzenia są aktywne, tylko kilka punktów krzyżowych jest używanych

Aby znaleźć rozwiązanie pozwalające na dotowanie tych niedogodności, zbudowano wielostopniowe przełączniki podziału przestrzeni. Dzieląc przełącznik Crossbar na mniejsze jednostki i łącząc je, można budować przełączniki wielostopniowe z mniejszą liczbą punktów krzyżowych. Poniższy rysunek przedstawia przykład przełącznika wielostopniowego.

Przełącznik wielostopniowy, taki jak powyższy, wymaga mniejszej liczby punktów krzyżowych niż te potrzebne w przełączaniu poprzecznym. Zgodnie z powyższym przykładem, dla 8 (wejście) i 8 (wyjście) różnych abonentów (zarówno abonentów wywoływanych, jak i wywołujących), punkty krzyżowe potrzebne w normalnej sieci Crossbar będą ich kwadratowe, czyli 64. Jednak w wielostopniowa sieć Crossbar, wystarczy 40 punktów krzyżowych. Jest to pokazane na powyższym schemacie. W dużym, wielostopniowym przełączniku Crossbar redukcja jest bardziej znacząca.

Zalety sieci wielostopniowej

Zalety sieci wielostopniowej są następujące -

  • Liczba poprzeczek jest zmniejszona.
  • Liczba ścieżek połączenia może być większa.

Wady sieci wielostopniowej

Wady sieci wielostopniowej są następujące -

  • Może to spowodować przełączniki wielostopniowe Blocking.

  • Liczba lub rozmiar przełączników pośrednich, jeśli zostanie zwiększona, może rozwiązać ten problem, ale wraz z tym wzrasta koszt.

Bloking

Blokowanie zmniejsza liczbę punktów krzyżowych. Poniższy diagram pomoże Ci lepiej zrozumieć blokowanie.

Na powyższym rysunku, gdzie są 4 wejścia i 2 wyjścia, Abonent 1 był podłączony do Linii 3, a Abonent 2 do Linii 4. Czerwone linie oznaczają połączenia. Jednak przyjdzie więcej próśb; żądanie połączenia od abonenta 3 i abonenta 4, jeśli zostało wykonane, nie może zostać przetworzone, ponieważ połączenie nie może zostać nawiązane.

Abonenci powyższego bloku również (jak pokazano na powyższym schemacie) napotykają ten sam problem. Jednocześnie można podłączyć tylko dwa bloki; nie można podłączyć więcej niż dwóch lub wszystkich wejść (zależy to od liczby obecnych wyjść). W związku z tym nie można nawiązać wielu połączeń jednocześnie, co jest rozumiane jako blokowanie połączeń.