Životní cyklus procesu

Z MiS
(Rozdíly mezi verzemi)
Přejít na: navigace, hledání
(Stavy procesu: Oprava drobných nedostatků a vzhledu)
(Sladěny názvy stavů BLOCKED s obrázkem.)
 
(Nejsou zobrazeny 2 mezilehlé verze od 1 uživatele.)
Řádka 1: Řádka 1:
[[Category:VSE]][[Category:Informatika]][[Category:Stránky s obrázky]]
+
[[Category:VSE]][[Category:Informatika]][[Category:Stránky s obrázky]][[Category:Procesy]]
 
<div class="NaStred">[[Image:stavy_procesu.png]]</div>
 
<div class="NaStred">[[Image:stavy_procesu.png]]</div>
 +
 
== Stavy procesu ==
 
== Stavy procesu ==
 +
 
INIT &mdash; Created (new)
 
INIT &mdash; Created (new)
 
*Program byl spuštěn, vytváří se proces.
 
*Program byl spuštěn, vytváří se proces.
Řádka 11: Řádka 13:
 
**Kopíruje se prostředí rodičovského procesu.
 
**Kopíruje se prostředí rodičovského procesu.
 
**...
 
**...
 +
 
READY &mdash; Ready in memory
 
READY &mdash; Ready in memory
 
*Proces je připraven a může být prováděn.
 
*Proces je připraven a může být prováděn.
 +
 
RUNNING
 
RUNNING
 
* User running × kernel running
 
* User running × kernel running
BLOCKED &mdash; Sleeping in memory (blocked)
+
 
 +
SLEEP/WAIT (někdy také BLOCKED) &mdash; Sleeping in memory (blocked)
 
*Proces čeká na data, která dorazí až za dlouho.
 
*Proces čeká na data, která dorazí až za dlouho.
 
*Nebo proces požádal, aby počkal danou dobu (Thread.sleep(200))
 
*Nebo proces požádal, aby počkal danou dobu (Thread.sleep(200))
 
*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)
 
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)
 
* Odkládat lze pouze data procesů, které neběží (jsou ve stavech READY nebo BLOCKED)
*READY/SWAPPED (ready-suspended)
+
*READY-SWAP (ready-suspended)
*BLOCKED/SWAPPED &mdash; Sleeping swapped (blocked-suspended)
+
*SLEEP/WAIT-SWAP &mdash; Sleeping swapped (blocked-suspended)
 
ZOMBIE
 
ZOMBIE
 
* Proces skončil svoji činnost a probíhá uvolňování paměti atd.
 
* Proces skončil svoji činnost a probíhá uvolňování paměti atd.
  
== Plánovač (scheduler) ==
+
Viz také: [[Plánování procesů | Plánovač procesů, přepínání procesů.]]
*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
+

Aktuální verze z 13. 10. 2020, 13:16

Stavy procesu.png

Stavy procesu

INIT — Created (new)

READY — Ready in memory

RUNNING

SLEEP/WAIT (někdy také BLOCKED) — Sleeping in memory (blocked)

Odkládání procesů (Swapping)

ZOMBIE

Viz také: Plánovač procesů, přepínání procesů.

Osobní nástroje
Jmenné prostory
Varianty
Akce
Výuka
Navigace
Nástroje