04 - Procesy a vlákna
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.
Dvoustavový model
Proces může mít pouze 2 stavy:
• Running
• Not-running
Viz [1]
A7B38UOS Úvod do operačních systémů 04 - Procesy a vlákna
Fronta procesů připravených ke spuštění procesorem
Viz [1]
A7B38UOS Úvod do operačních systémů 04 - Procesy a vlákna
Složitější model procesu
Viz [1]
Pětistavový model: přidány další 3 stavy
Stav „blokován“ (také „čekající“ nebo “spící“) významně zlepšuje výsledné
využití procesoru.
A7B38UOS Úvod do operačních systémů 04 - Procesy a vlákna
Použití dvou front procesů
Viz [1]
Pětistavový model
vyžaduje použití minimálně dvou front
A7B38UOS Úvod do operačních systémů 04 - Procesy a vlákna
Použití více front procesů
Viz [1]
A7B38UOS Úvod do operačních systémů 04 - Procesy a vlákna
Příklad pseudoparalelního běhu tří procesů A, B, C
Viz [1]
A7B38UOS Úvod do operačních systémů 04 - Procesy a vlákna
Příklad
Viz [1]
A7B38UOS Úvod do operačních systémů 04 - Procesy a vlákna
Příklad
Viz [1]
A7B38UOS Úvod do operačních systémů 04 - Procesy a vlákna
Příklad
Viz [1]
A7B38UOS Úvod do operačních systémů 04 - Procesy a vlákna
Vlákna (Threads)
Vlákno (thread) – abstrakce „toku programu“
Tradiční OS (UNIX, MS DOS):
jeden proces obsahuje jedno vlákno = jednovláknový proces (single-
threaded process
)
Moderní OS umožňují:
•
spuštění více současných úloh v rámci jednoho procesu = vícevláknový
proces (multi-threaded process).
•
po startu procesu běží jediné tzv. primární vlákno
•
primární vlákno může vytvářet vlákna sekundární.
A7B38UOS Úvod do operačních systémů 04 - Procesy a vlákna
Vlákna (Threads) - pokračování
Vlákna:
•
sdílejí privátní adresový prostor procesu (= mají společný kontext paměti),
tzn. mohou přistupovat ke globálním proměnným
•
sdílejí systémové prostředky procesu (kontext prostředí)
•
každé vlákno má vlastní kontext procesoru a zásobník (včetně lokálních
proměnných)
A7B38UOS Úvod do operačních systémů 04 - Procesy a vlákna
Procesy a vlákna (Threads)
Viz [1]
A7B38UOS Úvod do operačních systémů 04 - Procesy a vlákna
Procesy a vlákna (Threads)
Viz [1]
A7B38UOS Úvod do operačních systémů 04 - Procesy a vlákna
Zásobník (stack) - opakování