12.08.2013 Views

konspekt - Tartu Ülikool

konspekt - Tartu Ülikool

konspekt - Tartu Ülikool

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!