04.11.2014 Views

elektronická verzia publikácie - FIIT STU - Slovenská technická ...

elektronická verzia publikácie - FIIT STU - Slovenská technická ...

elektronická verzia publikácie - FIIT STU - Slovenská technická ...

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.

102 Štúdie vybraných tém programových a informaných systémov<br />

Súbežný systém je z pohadu jedného z (jeho) procesov viditený ako alšie procesy,<br />

s ktorými proces komunikuje, ale nevie o nich ni – ako rýchlo a kedy sa spúšajú. Takýto<br />

súbežný systém má teda viacero astí (procesov) vykonávajúcich sa súasne.<br />

Stupe súbežnosti je poet paralelných operácií vykonatených naraz. Je založený<br />

na jednotkách granularity. Pri skutonom paralelizme je limitovaný potom fyzických<br />

procesorov. innosti, ktoré sa môžu v ase prekrýva vo svojom vykonávaní, predstavujú<br />

možný paralelizmus, tzv. súbežné innosti. Súbežné innosti sa môžu, ale nemusia vykonáva<br />

súasne. Z hadiska granularity pritom rozoznávame:<br />

− granularitu jemnozrnnú – napr. na úrovni príkazov,<br />

− granularitu hrubozrnnú – napr. na úrovni procesov.<br />

3.7.1 Paralelizmus na úrovni príkazov<br />

Pri jemnej úrovni granularity môžeme hada optimalizáciu spracovania údajov paralelizovaním<br />

vykonávania programu, ím sa dosiahne spracovanie viacerých inštrukcií programu<br />

za kratší as. Príkladom môžu by nasledovné riadky kódu (pozri príklad 3-3).<br />

X := 2; :P<br />

Y := A = B; :Q<br />

Z := sin(30.0); :R<br />

Príklad 3-3. Séria inštrukcií vhodná na paralelné spracovanie.<br />

Jednotlivé riadky programu – P,Q,R od seba navzájom nezávisia a môžu by spracované<br />

paralelne. Ak by sa každý vykonával za rovnakú jednotku asu, pri ich súbežnom spracovaní<br />

by klesla asová náronos tohoto programu na tretinu.<br />

3.7.2 Paralelizmus na úrovni procesov<br />

Pri hrubej granularite sa zameriavame na paralelizmus vo vykonávaní programu na úrovni<br />

samostatne vykonávaných postupností inštrukcií, o om pojednáva táto podkapitola.<br />

Proces, vlákno<br />

Proces je artefaktom operaného systému. Jeden proces však môže prebieha vo viacerých<br />

vláknach (angl. threads). Výhodou týchto vlákien je nižšia réžia pri ich prepínaní, pretože<br />

sa spúšajú v spolonom adresnom priestore. Na základe týchto vlastností sa vlákna zvyknú<br />

nazýva aj odahené procesy. Na druhú stranu vyplýva z použitia spoloného pamä-<br />

ového priestoru menšie vzájomné zabezpeenie vlákien.<br />

Na základe paralelizácie vykonávania poznáme:<br />

− multiprogramové systémy – systémy, na ktorých je spustených viacero programov naraz,<br />

napr. Unix – programy sa spúšajú ako samostatné procesy.<br />

− multivláknové systémy – samotný program sa vykonáva pomocou viacerých vlákien<br />

naraz.<br />

Pri multiprogramových systémoch sa najastejšie vykonávanie viacerých programov (procesov)<br />

naraz realizuje prerušovaním a prepínaním vykonávania týchto procesov na procesore.<br />

Cieom je dosiahnu, aby sa procesu javilo, akoby sa vykonával na procesore jediný<br />

a zárove, akoby sa vykonávali viaceré vlákna naraz, priom vaka prepínaniu sa vyko-

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

Saved successfully!

Ooh no, something went wrong!