konspekt - Tartu Ülikool
konspekt - Tartu Ülikool
konspekt - Tartu Ülikool
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
¯ Tõrkekindluse realiseerimine. Klient saadab päringu grupiteatena protsessigrupile.<br />
Serverid antud grupis täidavad saadud päringu ning üks või enam<br />
vastab kliendile. Kui mõni server antud grupis saab tõrke, on ülejäänud siiski<br />
võimelised päringutele vastama.<br />
¯ Andmete edastamine paljudele protsessidele. Grupiteade võimaldab vähendada<br />
päringute arvu vastavalt grupi suurusele.<br />
3.3 Tarkvara struktuur<br />
Tsentraliseeritud süsteemide operatsioonisüsteemide disaini nimetatakse tihti ’monoliitseteks’,<br />
kuna rakendusprogrammidele kasutatav abstraktsioonide hulk on<br />
määratud ühe muutumatu liidesega. Hajussüsteemi disain ei pea olema monoliitne,<br />
kuna rakendustel on juurdepääs mitmetele teenustele, mis esitavad igaüks<br />
ressursside kasutamiseks oma liidese. Ressursse saame laiendada uute teenuste<br />
lisamisega.<br />
Rakendused<br />
Programmeerimiskeele tugi<br />
Operatsioonisüsteem<br />
Riistvara<br />
Joonis 3.1: Kihid tsentraliseeritud süsteemides.<br />
Joonisel 3.1 on esitatud põhilised riist- ja tarkvarakihid tsentraliseeritud süsteemides.<br />
Tsentraliseeritud süsteemides on operatsioonisüsteem üks põhilisemaid<br />
süsteemse tarkvara kihte, mis haldab kõiki põhilisi ressursse ja loob esmased teenused<br />
kasutajatele ja tarkvarale:<br />
¯ Lihtne ressursi haldamine<br />
– mälu haaramine ja kaitsmine;<br />
– protsesside loomine ja protsessori jagamine;<br />
– perifeerse riistvara jagamine.<br />
29<br />
¯ Kasutajate ja rakenduste teenused<br />
– kasutajate autentimine ja autoriseerimine;<br />
– failide haldamine ja failide juurdepääsu vahendid;<br />
– kella teenus.<br />
Enamust neist teenustest osutab tsentraliseeritud süsteemis operatsioonisüsteemi<br />
tuum. Hajussüsteemis peame need (ja ka teised) teenused looma kujul, mis<br />
võimaldab meil mugavalt lisada uusi teenuseid. Selleks piirdume tuumas ainult<br />
ressursside haldamisega:<br />
¯ mälu haaramine ja kaitsmine;<br />
¯ protsesside loomine ja protsessori jagamine;<br />
¯ perifeerse riistvara jagamine;<br />
¯ protsessidevaheline suhtlemine.<br />
Lisaks toome sisse uue klassi tarkvarakomponente, mida me nimetame avatud<br />
teenusteks, et luua kõik ülejäänud teenused ja ressursid.<br />
Rakendused<br />
Hajusprogrammeerimise<br />
tugi<br />
Operatsioonisüsteemi tuuma teenused<br />
Arvuti ja võrgu riistvara<br />
Avatud teenused<br />
Joonis 3.2: Tarkvarakihid ja nende sõltuvused hajussüsteemis.<br />
Iga kast joonisel 3.2 on realiseeritud kas riistvaras või tarkvaras, mis võivad<br />
omada erinevaid liideseid ja konstruktsioone. Eraldi rakendus- ja riistvarakihist<br />
saame eristada kolme eri kategooriat tarkvara, mis toetavad rakenduste käivitamist:<br />
30