Proces

Z MiS
(Rozdíly mezi verzemi)
Přejít na: navigace, hledání
(Přidáno UID a GID.)
(Doplněny otázky k ověření pochopení.)
Řádka 23: Řádka 23:
 
* Procesy navzájem nemohou sdílet proměnné (každý má svou přidělenou paměť). To je ale někdy omezující.
 
* Procesy navzájem nemohou sdílet proměnné (každý má svou přidělenou paměť). To je ale někdy omezující.
 
* Proces tedy můžeme rozdělit do více ''vláken'' (''thread''), které běží také nezávisle a mají svůj stav, ale sdílí spolu obsah proměnných v paměti.
 
* Proces tedy můžeme rozdělit do více ''vláken'' (''thread''), které běží také nezávisle a mají svůj stav, ale sdílí spolu obsah proměnných v paměti.
 +
* Rozdělení procesů na více vláken může zefektivnit výpočet:
 +
** Pokud čekáme na data z disku, můžeme například provádět další výpočet, pokud k němu data nepotřebujeme.
 +
** Každé vlákno může běžet na jiném jádru procesoru.
  
 +
 +
== Otázky ==
 +
# Pokud můžou vlákna sdílet proměnné, není to narušení pravidla, že procesy paměť sdílet nemůžou?
 +
#: Kdybych chtěl sdílet paměť mezi procesy, můžu v každém procesu vytvořit vlákno a tyto dvě vlákna sdílet paměť můžou.
 +
#: V čem je tato úvaha nesprávná?
 +
# Jak může rozdělení rozdělení procesu na více vláken zrychlit výpočet, když se všechny instrukce stejně nakonec musí provést v jednom procesoru.
 +
#: Analogie: Mám jednoho pracovníka (procesor) a 1000 cihel, které musí přenosit (instrukcí).
 +
#: Pracovník přece bude mít stejné množství práce bez ohledu na to, jestli mu to napíši jako jeden úkol přenést 1000 cihel (jedno vlákno), nebo jako čtyři úkoly přenést 250 cihel (čtyři vlákna).
 +
#: V čem je tato úvaha nesprávná?
  
 
== Související stránky ==
 
== Související stránky ==
 
* [[Komunikace mezi procesy]]
 
* [[Komunikace mezi procesy]]

Verze z 4. 10. 2021, 06:42


Obsah

Co je proces?


Jaké data zahrnujeme?


Vlákno


Otázky

  1. Pokud můžou vlákna sdílet proměnné, není to narušení pravidla, že procesy paměť sdílet nemůžou?
    Kdybych chtěl sdílet paměť mezi procesy, můžu v každém procesu vytvořit vlákno a tyto dvě vlákna sdílet paměť můžou.
    V čem je tato úvaha nesprávná?
  2. Jak může rozdělení rozdělení procesu na více vláken zrychlit výpočet, když se všechny instrukce stejně nakonec musí provést v jednom procesoru.
    Analogie: Mám jednoho pracovníka (procesor) a 1000 cihel, které musí přenosit (instrukcí).
    Pracovník přece bude mít stejné množství práce bez ohledu na to, jestli mu to napíši jako jeden úkol přenést 1000 cihel (jedno vlákno), nebo jako čtyři úkoly přenést 250 cihel (čtyři vlákna).
    V čem je tato úvaha nesprávná?

Související stránky

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