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