Životní cyklus procesu

Z MiS
(Rozdíly mezi verzemi)
Přejít na: navigace, hledání
(Doplněn text)
(Sladěny názvy stavů BLOCKED s obrázkem.)
 
(Nejsou zobrazeny 3 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 ==
Stavy procesu
+
 
 
INIT &mdash; Created (new)
 
INIT &mdash; 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 12: Řá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.
Swapped
 
*Data procesu jsou odloženy na disku, protože není v paměti dost místa.
 
*Ready swapped (ready-suspended)
 
*BLOCKED/SWAPPED &mdash; Sleeping swapped (blocked-suspended)
 
Zombie
 
  
== Plánovač (scheduler) ==
+
Odkládání procesů (Swapping)
*Součást jádra, zajišťuje přepínání procesů zařizuje součást jádra.
+
* 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-SWAP (ready-suspended)
 +
*SLEEP/WAIT-SWAP &mdash; Sleeping swapped (blocked-suspended)
 +
ZOMBIE
 +
* Proces skončil svoji činnost a probíhá uvolňování paměti atd.
  
;Požadavky
+
Viz také: [[Plánování procesů | Plánovač procesů, přepínání procesů.]]
*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