06 - Procesy a vlákna - synchronizace
Níže je uveden pouze náhled materiálu. Kliknutím na tlačítko 'Stáhnout soubor' stáhnete kompletní formátovaný materiál ve formátu PDF.
A7B38UOS Úvod do operačních systémů 06 - Procesy a vlákna - synchronizace
České vysoké učení technické Fakulta elektrotechnická
ÚVOD DO OPERAČNÍCH SYSTÉMŮ
Ver.1.00
Procesy a vlákna - synchronizace
2014
A7B38UOS Úvod do operačních systémů 06 - Procesy a vlákna - synchronizace
Synchronizace procesů/vláken
Cíle synchronizace:
zabránit konfliktům mezi vlákny při přístupu ke sdíleným 
prostředkům (paměti, souborům, periferním zařízením, ap.)
pozastavení běhu vláken, dokud nejsou splněny specifikované
podmínky nebo nenastane určená událost;
zajistit vykonání určitých programových sekvencí v požadovaném
pořadí.
A7B38UOS Úvod do operačních systémů 06 - Procesy a vlákna - synchronizace
Synchronizace procesů/vláken – pokračování
Optimální mechanismus synchronizace:
založen na možnosti převedení procesu/vlákna do blokovaného 
stavu (blocked, waiting, sleeping), kdy mu není přidělován čas 
procesoru (viz 5-ti stavový model procesu/vlákna)
v tomto stavu proces/vlákno setrvá tak dlouho, dokud nebudou 
splněny požadované podmínky (např. ukončení jiného vlákna nebo 
procesu, nenulový stav semaforu, uvolněný mutex, uplynutí
nastaveného časového intervalu apod.)
jakmile podmínky nastanou, systém proces/vlákno probudí, tzn. 
přesune je (v souladu s plánovací strategií) do příslušné fronty 
aktivních procesů připravených na přidělení procesoru.
A7B38UOS Úvod do operačních systémů 06 - Procesy a vlákna - synchronizace
Stavový model procesu/vlákna
Viz [1]
Základní pětistavový model
A7B38UOS Úvod do operačních systémů 06 - Procesy a vlákna - synchronizace
Kritická sekce (Critical Section)
Kritická sekce:
část programu, kde dochází k přístupu procesu/vlákna ke sdílenému 
prostředku (např. sdílená proměnná).
Procesy/vlákna vstupující do kritické sekce musí být synchronizovány!!!
A7B38UOS Úvod do operačních systémů 06 - Procesy a vlákna - synchronizace
KS – podmínky přístupu
Podmínky přístupu do kritické sekce (KS):
výhradní přístup – vstup do kritické sekce je povolen nejvýše 
jednomu procesu 
žádné předpoklady nesmí být kladeny na rychlost a počet procesorů
proces/vlákno běžící mimo kritickou sekci nesmí blokovat ostatní
procesy/vlákna
omezené čekání – rozhodnutí o vstupu nesmí být pro některého 
čekajícího odkládáno do nekonečna
