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

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Architektúry softvéru 103<br />

náva v jednom okamihu v skutonosti len jedno – pseudoparalelizmus. V súvislosti s prepínaním<br />

vlákien (resp. procesov) je potrebné rieši aj prístup k zdrojom systému vzájomným<br />

vylúením a synchronizanými mechanizmami, ktoré majú rôzne jazyky rozpracované<br />

na rôznej úrovni.<br />

Vlákna sa používajú v rámci vykonávania procesu napr. pri akaní na vstup, zápis<br />

na disk a pod. Svoje využitie majú napr. na serveroch, kde sa môže pre každého používatea<br />

vytvori samostatné vlákno. Poznáme nasledujúce typy vlákien (Robbins, 1996):<br />

− používateské vlákna – jadro operaného systému (OS) o nich nevie; manažment vlákien<br />

je vykonávaný pomocou knižníc; majú vlastné plánovanie a na prepínanie nie sú<br />

potrebné privilégiá jadra,<br />

− vlákna jadra – komunikuje sa s nimi cez API (angl. Application Programming Interface),<br />

udržiavajú informácie o kontextoch; majú na starosti aj plánovanie, prepínanie<br />

a blokovanie vykonávajúcich sa vlákien,<br />

− hybridné vlákna – vytvárajú sa v používateskom kontexte, ale spracúva ich jadro.<br />

3.7.3 Paralelné programovanie<br />

Pri paralelnom programovaní sa autori programov pokúšajú využi paralelizmus (súbežnos)<br />

na zefektívnenie innosti programov, priom sa využívajú napr. zmeny štruktúry<br />

riešenia, zisk z mapovania softvérovej architektúry na hardvér, i paralelizácia vzhadom<br />

na povahu vykonávaných inností – akanie na vstup a pod.<br />

Z hadiska paralelizmu spracovania a údajov rozlišujeme nasledujúce tradiné architektúry<br />

(obrázok 3-19).<br />

Jeden<br />

Viacero<br />

SISD<br />

SIMD<br />

MISD<br />

MIMD<br />

Obrázok 3-19. Tradiná klasifikácia architektúr.<br />

Jednotlivé architektúry majú nasledujúcich typických predstaviteov, resp. typické riešené<br />

úlohy:<br />

− SISD (angl. Single Instruction Single Data) – tradiné PC,<br />

− SIMD (angl. Single Instruction Multiple Data) – vektorové PC,<br />

− MISD (angl. Multiple Instruction Single Data) – viaceré innosti nad jednými údajmi,<br />

− MIMD (angl. Multiple Instruction Multiple Data) – riešenie nezávislých úloh, resp. úloh<br />

rozdelitených do samostatných procesov.<br />

Jednoduché paralelné problémy, nazývané až triviálne, i „trápne“, sa vemi dobre nasadzujú<br />

na paralelné spracovanie. Majú totiž súbežné riešenie pomocou sady nezávislých

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

Saved successfully!

Ooh no, something went wrong!