Nowe technologie Edukacja Kontakt O nas Dodaj do ulubionych Ustaw tę stronę jako startową

Artykuły dotyczące systemu QNX i jego zastosowań

 

QNX FLEET ostatnie słowo w technologii sieci lokalnych.

Opracował: Wiesław Barcikowski

Wydział Cybernetyki
Wojskowa Akademia Techniczna


Czy można spodziewać się, że sieć mikrokomputerów zaoferuje nam wydajność superkomputera?. Jeżeli jest to sieć pracująca pod kontrolą systemu operacyjnego QNX, można odpowiedzieć: TAK !

Tysiące użytkowników na całym świecie wybrało ten system i z powodzeniem wykorzystuje we wszystkich obszarach zastosowań a przede wszystkim tam, gdzie istotny jest czas, nieubłaganie płynący czas rzeczywisty. Dotyczy to zarówno takich "klasycznych" systemów czasu rzeczywistego, jak:- systemy sterowania obiektami technicznymi, np. roboty montujące samochody, "inteligentny" pocisk rakietowy, itp.,

- systemy bezwzględnego nadzoru (ang. mission critical systems), np. nadzorowanie pacjentów chorych na serce,

- systemy bieżącego przetwarzania transakcji, np. system rezerwacji biletów, jak i mniej uwarunkowanych czasowo systemów administracyjnych, np. system kadrowy przedsiębiorstwa (przecież nikt nie lubi czekać na reakcję systemu po naciśnięciu klawisza ENTER, nawet podczas pracy z edytorem !).

W szczególności, QNX jest nie do zastąpienia wszędzie tam, gdzie trzeba zintegrować wiele terytorialnie rozproszonych, niezależnych od siebie elementów w jeden spójny, poprawnie funkcjonujący system, gdy niezbędne jest rozproszenie obliczeń w celu zwiększenia niezawodności i wydajności całego systemu, czyli w rozproszonych systemach czasu rzeczywistego. Ten rodzaj aplikacji stawia przed systemem operacyjnym najwyższe wymagania. Najnowsza wersja systemu QNX 4.1 oprócz wielu, istotnych dla użytkownika rozszerzeń i udogodnień wprowadza nowoczesne i wysoce efektywne rozwiązanie sieci lokalnej nazwane FLEET. To właśnie FLEET pozwala "zamienić" grono samodzielnych mikrokomputerów w superkomputer. Dla użytkowników systemu QNX nazwa FLEET stała się synonimem słów: wydajność, niezawodność, elastyczność...

Słowo "elastyczność" nabiera nowych znaczeń, gdy odniesiemy je do technologii sieciowej FLEET. Do sieci mogą być podłączone dowolne mikrokomputery należące do rodziny IBM PC (poczynając od prostego XT). Każdy mikrokomputer może być wyposażony w kilka różnego typu adapterów sieciowych takich jak: Arcnet, Ethernet, Token Ring, które mogą pracować jednocześnie w tym samym czasie. Jednym słowem komputery mogą być połączone kilkoma różnymi sieciami jednocześnie!

Udało się to uzyskać dzięki modułowej strukturze systemu QNX. Twórcy FLEET wykorzystali znane z zarządzania dyskami rozwiązanie, gdzie moduł zarządzający systemem zbiorów (Filesystem Manager) współpracuje z różnymi typami pamięci zewnętrznych: dyski elastyczne, dyski twarde IDE, SCSI za pomocą odpowiednich programów obsługi (ang. driver).

Moduł zarządzania dostępem do sieci (Network Manager) nie kontaktuje się bezpośrednio z adapterem sieciowym, lecz z jego driver'em. Tak jak w przypadku pamięci zewnętrznych, można zainstalować wiele różnych lub takich samych adapterów sieciowych i sterujących nimi driver'ów. Zarówno Network Manager jak i driver'y (np. Net.arcnet czy Net.ether8003) są niezależnymi modułami systemowymi i mogą być uruchamiane i zatrzymywane "w biegu" (ang. on the fly), czyli w dowolnym momencie podczas normalnego funkcjonowania systemu.

Po zainicjowaniu pracy Network Manager informuje o swoim istnieniu dwa główne moduły systemu QNX: Proces Manager i Microkernel, odpowiedzialne za zarządzanie wszystkimi procesami i komunikacją między nimi. Pozwala to tym modułom otworzyć połączenie z Network Manager'em i uaktywnić fragmenty kodu odpowiedzialne za komunikacją w sieci i zdalne tworzenie zadań (w innych węzłach). Oznacza to, że te dwie funkcje nie są realizowane przez kolejną warstwę dodawaną do systemu operacyjnego, lecz są zintegrowane z podstawowymi mechanizmami komunikacji i zarządzania procesami. W systemie QNX mechanizmy służące do komunikacji lokalnej w ramach węzła, używane są w postaci niezmodyfikowanej do komunikacji w całej sieci. Reasumując, nie ma specjalnych, sieciowych poleceń: send(), receive() czy reply(). Taka głęboka integracja na najniższym poziomie pozwala uzyskać przezroczystość sieci oraz zakwalifikować system QNX jako rozproszony system operacyjny. Network Manager odpowiedzialny jest za przesyłanie komunikatów w sieci lokalnej i realizuje to za pomocą driver'ów. Driver'y z kolei odpowiedzialne są za pakietowanie, kolejkowanie i ewentualną retransmisję danych. Tylko driver komunikuje się bezpośrednio z adapterem sieciowym. dzięki temu, zmiana sprzętu sieciowego (np. pojawienie się nowych, lepszych rozwiązań adapterów) pociąga za sobą konieczność zmodyfikowania lub napisania od nowa tylko driver'a. Każdy węzeł sieci lokalnej identyfikowany jest dwoma numerami: logicznym i fizycznym. Numer logiczny jednoznacznie określa dany węzeł w całej sieci i jest używany przez współpracujące procesy do celów adresacji. Numer fizyczny węzła określony jest przez fizyczny numer adaptera sieciowego. Tak więc, pojedynczy węzeł (określany jednym numerem logicznym) wyposażony w kilka adapterów nosi kilka numerów fizycznych. Adaptery jednakowego typu umieszczone w różnych węzeł tworzą tzw. sieć logiczną. Węzły wyposażone w dwa lub więcej adapterów sieciowych połączone są dwoma lub więcej sieciami logicznymi. Za właściwe zarządzanie taką siecią (wybieranie sieci logicznej, przyporządkowywanie numerów logicznych i fizycznych) odpowiedzialny jest także Network Manager. I to jest właśnie FLEET.

Wertując słownik angielsko-polski można znaleźć wiele znaczeń tego słowa m.in. rączy, chyży co oddaje jedną z podstawowych cech tej sieci, ale słowo to oznacza coś więcej:

Fault-Tolerant - odporność na awarie

Load-Balancing - wyrównywanie obciążenia

Efficient - efektywność, wydajność

Extensible - rozszerzalność

Transparent - przezroczystość.

Odporność na awarie.

Jeżeli węzły połączone są kilkoma sieciami logicznymi i jedna z sieci ulegnie awarii (uszkodzenie adaptera, przerwanie kabla) Network Manager automatycznie skierowuje dane inną siecią logiczną. Odbywa się to "w biegu", bez wiedzy i udziału komunikujących się ze sobą procesów.

Wyrównywanie obciążenia.

Przepustowość sieci określona jest zarówno przez szybkość sprzętu sieciowego jak i szybkość komputera. Jeżeli komputer może dostarczać dane szybciej niż adapter sieciowy jest w stanie przesyłać to wówczas sieć staje się wąskim gardłem. Ale nie w przypadku sieci FLEET.

Jeżeli węzły połączone są kilkoma sieciami logicznymi i Network Manager stwierdzi, że osiągnięta została maksymalna przepustowość jednej sieci logicznej, automatycznie skierowuje dalsze dane kolejną siecią logiczną. Jednoczesna praca wielu sieci logicznych pozwala na zwielokrotnienie przepustowości.

Efektywność.

W zależności od potrzeb, mogą być wykorzystywane albo gwarantujące wysoką przepustowość adaptery Ethernet (trochę poniżej 1 Mbajt/sek) albo gwarantujące determinizm transmisji adaptery Arcnet. Połączenie obydwu technik w jednym komputerze gwarantuje uzyskanie optymalnej efektywności.

Rozszerzalność.

W każdej chwili można dołożyć kolejny adapter tworząc nową sieć logiczną. Dla zupełnie nowych technologii sieciowych (które zapewne się pojawią), wystarczy stworzyć tylko odpowiednie driver'y - reszta systemu pozostaje bez zmian !.

Przezroczystość.

W systemie QNX nie ma różnicy między komunikacją lokalną i sieciową, między lokalnym a zdalnym wykonywaniem procesów, co pozwala na uruchamianie aplikacji w dowolnym miejscu sieci bez potrzeby ich modyfikowania. Pozwala to na implementację przetwarzania rozproszonego w lokalnej sieci komputerowej.

Pozwala to również odpowiedzieć na pytanie postawione na wstępie, czy sieć mikrokomputerów może zaoferować wydajność superkomputera.

Sieć QNX FLEET - na pewno TAK !.