Životní cyklus procesu
Z MiS
				
				
				(Rozdíly mezi verzemi)
				
																
				
				
								
				|  (Doplněn text) |  (→Stavy procesu:  Oprava drobných nedostatků a vzhledu) | ||
| Řádka 2: | Řádka 2: | ||
| <div class="NaStred">[[Image:stavy_procesu.png]]</div> | <div class="NaStred">[[Image:stavy_procesu.png]]</div> | ||
| == Stavy procesu == | == Stavy procesu == | ||
| − | |||
| INIT — Created (new) | INIT — Created (new) | ||
| − | *Program byl spuštěn. | + | *Program byl spuštěn, vytváří se proces. | 
| *Úkoly: | *Úkoly: | ||
| **Načte z disku kód programu do paměti | **Načte z disku kód programu do paměti | ||
| Řádka 21: | Řádka 20: | ||
| *Příklad: | *Příklad: | ||
| **Zapisuje do roury a buffer je zaplněn. | **Zapisuje do roury a buffer je zaplněn. | ||
| − | + | Odkládání procesů (Swapping) | |
| − | *Data procesu jsou odloženy na disku, protože není v paměti dost místa. | + | * Data procesu jsou odloženy na disku, protože není v paměti dost místa. | 
| − | * | + | * Odkládat lze pouze data procesů, které neběží (jsou ve stavech READY nebo BLOCKED) | 
| + | *READY/SWAPPED (ready-suspended) | ||
| *BLOCKED/SWAPPED — Sleeping swapped (blocked-suspended) | *BLOCKED/SWAPPED — Sleeping swapped (blocked-suspended) | ||
| − | + | ZOMBIE | |
| + | * Proces skončil svoji činnost a probíhá uvolňování paměti atd. | ||
| == Plánovač (scheduler) == | == Plánovač (scheduler) == | ||
Verze z 18. 9. 2013, 11:59
Stavy procesu
INIT — Created (new)
- Program byl spuštěn, vytváří se proces.
- Úkoly:
- Načte z disku kód programu do paměti
- Vyhradí paměť pro data
- Přiřadí PID
- Zapíše do tabulky procesů
- Kopíruje se prostředí rodičovského procesu.
- ...
 
READY — Ready in memory
- Proces je připraven a může být prováděn.
RUNNING
- User running × kernel running
BLOCKED — Sleeping in memory (blocked)
- Proces čeká na data, která dorazí až za dlouho.
- Nebo proces požádal, aby počkal danou dobu (Thread.sleep(200))
- Příklad:
- Zapisuje do roury a buffer je zaplněn.
 
Odkládání procesů (Swapping)
- Data procesu jsou odloženy na disku, protože není v paměti dost místa.
- Odkládat lze pouze data procesů, které neběží (jsou ve stavech READY nebo BLOCKED)
- READY/SWAPPED (ready-suspended)
- BLOCKED/SWAPPED — Sleeping swapped (blocked-suspended)
ZOMBIE
- Proces skončil svoji činnost a probíhá uvolňování paměti atd.
Plánovač (scheduler)
- Součást jádra, zajišťuje přepínání procesů zařizuje součást jádra.
- Požadavky
- fairness
- všechny procesy by měly dostat přibližně stejný prostor...
- ale priority jsou možné
 
- efficiency
- omezit čas, který využívá OS sám.
 
- odezva
- uživatel by měl mít pocit, že všechny procesy reagují hned.
 
- turnaround
- dávky úloh by měly skončit co nejdříve
 
- propustnost
- maximalizovat počet dokončených úloh
 

