Softvérové koncepcie distribuovaných systémov

Operačné systémy pre distribuované počítače sa delia na:

  • Distribuovaný operačný systém pre multiprocesory
  • Operačný systém pre multipočítače
  • Sieťový operačný systém
  • Multiware

Distribuovaný operačný systém

Cieľom distribuovaného operačného systému (obr. 1) je vytvoriť u používateľom ilúziu, že celá sieť počítačov je jeden systém, to znamená, že používateľ by si nemal byť vedomí toho, že v systéme je viacero procesorov.


Obrázok 1: Štruktúra distribuovaného operačného systému.


V tomto systéme musí existovať globálny komunikačný mechanizmus medzi procesmi, aby každý proces mohol komunikovať s iným procesom. Na lokálnu a diaľkovú komunikáciu sa používa rovnaký mechanizmus. V distribuovanom operačnom systéme sú procesy rovnako vytvorené, zničené, spustené a zastavené.

Operačný systém pre multiprocesory

Operačný systém pre multiprocesory podporuje viaceré procesory, ktoré majú prístup k spoločnej pamäti. Charakteristikou tohto systému je existencia jedného radu čakajúcich procesov: zoznam všetkých procesov v systéme, ktoré sú odblokované a pripravené na spustenie. Spúšťací rad je dátová štruktúra uložená v spoločnej pamäti. Ako príklad, na obrázku 2 sú tri procesory a päť procesov, ktoré sú pripravené na spustenie. Všetkých päť procesov je umiestnených v spoločnej pamäti, a tri z nich sú práve spustené: proces A na CPU 1, proces B na CPU 2, a proces C na CPU 3. Zvyšné dva procesy, D a E, sú tiež v pamäti, čakajú na ich spustenie. Predpokladajme, že proces B čaká na I/O alebo bol dokončený. CPU 2 ho musí zastaviť a nájsť iný proces, ktorý bude spustený. Po uložený všetkých registrov procesu B, vstúpi do kritickej oblasti kvôli spusteniu plánovača pre hľadanie ďalšieho procesu na spustenie. Plánovač je spustený ako kritická oblasť kvôli prevencii, aby si dva procesory nevybrali rovnaký proces, ktorý spustia. Nevyhnutné vzájomné vylúčenie môže byť dosiahnuté použitím semaforov, monitorov, alebo iných bežných štandardov používaných pri jednoprocesorových systémoch. Keď CPU 2 dostane výlučný prístup k radu čakajúcich procesov, môže odstrániť prvú hodnotu, D, odísť z kritickej oblasti, a začať vykonávať proces D. Na začiatku bude vykonávanie pomalé, lebo cache CPU 2 je plné dát patriacich do časti spoločnej pamäte obsahujúcej proces B, ale po chvíli, sú tieto dáta vyčistené a cache bude zaplnená dátami a kódom procesu D, takže vykonávanie sa zrýchli.


Obrázok 2: Multiprocesor s jedným spúšťacím radom.

Sieťový operačný systém

V sieťovom operačnom systéme (obr. 3) má každý používateľ počítač, pre jeho vlastné použitie. Tento počítač má alebo nemusí mať vlastný pevný disk, má ale vlastný operačný systém. Úlohy sú spúšťané lokálne, to znamená, priamo na počítači. Používateľ sa ale môže diaľkovo prihlásiť na iný počítač.


Obrázok 3: Štruktúra sieťového operačného systému.


Pripojením používateľovho vlastného počítača na vzdialený počítač sú príkazy písané na klávesnici odoslané vzdialenému počítaču, a výstup zo vzdialeného počítača je zobrazovaný na obrazovke. Ak sa používateľ chce pripojiť na iný vzdialený počítač, musí sa skorej odhlásiť a potom prihlásiť k ďalšiemu, z toho vyplýva, že v jednom momente môže byť používaný len jeden počítač. Sieť počítačov tiež umožňuje kopírovanie súborov na diaľku z jedného počítača na druhý.

Middleware

Middleware (obr. 4) je ďalšou vrstvou softvéru, ktorá je použitá v sieťovom operačnom systéme. Spája najlepšie vlastnosti distribuovaného operačného systému, ktorými sú transparentnosť a ľahké používanie, s vlastnosťami sieťového operačného systému, ktorými sú rozšíriteľnosť a otvorenosť.


Obrázok 4: Štruktúra distribuovaného systému ako middleware.


Middleware modely:

  • Model popisujúci distribúciu a komunikáciu: Tento model zaobchádza so všetkými zdrojmi, vrátané I/O zaradení ako klávesnica, myš, disk, a tak ďalej, ako so súbormi. V podstate nezáleží či je súbor lokálny alebo vzdialený. Aplikácia otvorí súbor, číta a zapisuje bajty, a znova ho zavrie. Pretože súbory môžu byť vymieňané viacerými procesmi, komunikácia je zredukovaná na jednoduchý prístup k rovnakému súboru.
  • Model založený na vzdialenom volaní procedúr (angl. Remote Procedure Call, RPC): Tento model sa snaží schovať sieťovú komunikáciu. Proces má povolené volať procedúry, ktorých vykonávanie je umiestnené na vzdialenom počítači. Keď je zavolaná taká procedúra, parametre sú prehľadne odoslané na vzdialený počítač, kde je procedúra následne uskutočnená, potom sú výsledky poslané späť volajúcemu. Zdá sa teda, akoby volanie procedúry bolo vykonané na mieste a volajúci proces zostáva nevedomý skutočnosti, že prebiehala sieťová komunikácia.
  • Model distribuovaných objektov: Podstatou distribuovaných objektov je, že každý objekt obsahuje rozhranie, ktoré skrýva všetky vnútorné podrobnosti o objekte pred užívateľmi. Rozhranie obsahuje metódy, ktoré objekt obsahuje. Jedinou vecou ktorú proces vidí ako objekt je jeho rozhranie. Keď proces zavolá metódu, rozhranie ju transformuje na správu, ktorá je odoslaná k objektu. Objekt vykoná požadovanú metódu a pošle späť výsledok. Rozhranie následne transformuje odpoveď do návratovej hodnoty, ktorá je potom odovzdaná procesu.

Middleware systémy sa snažia realizovať prístupovú transparentnosť, to znamená, že klient by si nemal byť vedomí distribúcii súborov. Prístupová transparentnosť je realizovaná komunikačnými nástrojmi, ktoré skrývajú nízkoúrovňové posielanie správ cez počítačovú sieť. Rozhranie na prenos, ktoré ponúka sieťový operačný systém je tu nahradený inými nástrojmi. Ako je komunikácia podporovaná závisí od modelu distribúcie, ktorý middleware ponúka užívateľom a aplikáciám. Už sú tu spomenuté modely RCP a volanie distribuovaného objektu.


Porovnanie distribuovaných systémov

V tabuľke 1 sa nachádza stručné porovnanie distribuovaného operačného systému, sieťového operačného systému a middleware.


Tabuľka 1: Porovnanie distribuovaného OS, sieťového OS a middleware .

Distribuovaný OS Sieťový OS Middleware
Multiprocesory Multipočítače
Stupeň transparentnosti Veľmi vysoký Vysoký Nízky Vysoký
Rovnaký OS na všetkých uzloch? Áno Áno Nie Nie
Počet kópií operačného systému 1 N N N
Základ komunikácie Spoločná pamäť Správy Súbory Podľa modelu


1Aká je charakteristika Middleware?





2Aká je charakteristika distribuovaného operačného systému?





3Aká je charakteristika sieťového operačného systému?