Komunikace mezi procesy
Z MiS
(Rozdíly mezi verzemi)
(Vytvoření stránky) |
m (Přidána kategorie Procesy) |
||
Řádka 1: | Řádka 1: | ||
− | [[Category:VSE]][[Category:Informatika]][[Category:OSY]] | + | [[Category:VSE]][[Category:Informatika]][[Category:OSY]][[Category:Procesy]] |
Každý proces má pocit, že je jediným běžícím procesem. Procesy se navzájem nevidí. Jak si tedy mohou vyměňovat data? | Každý proces má pocit, že je jediným běžícím procesem. Procesy se navzájem nevidí. Jak si tedy mohou vyměňovat data? |
Verze z 24. 10. 2013, 05:19
Každý proces má pocit, že je jediným běžícím procesem. Procesy se navzájem nevidí. Jak si tedy mohou vyměňovat data?
Vlákna stejného procesu mají společný datový segment (tedy mají přiřazenu stejnou paměť). Jinak má ale každý proces svůj virtuální paměťový prostor (viz heslo Přístup procesů do paměti).
Obsah |
Soubory
- Diskový prostor je pro všechny procesy společný, mohou tedy předávat data prostřednictvím souborů.
Roura (pipe)
- „Roura“ je peciální virtuální „soubor“ určený jen pro komunikaci mezi procesy. (Viz heslo Vstup a výstup procesů, přesměrování)
- Pokud zpracovávající proces nestíhá, je generující proces pozastaven (BLOCKED).
Síťové rozhraní (socket)
- Procesy mohou komunikovat prostřednictvím místní smyčky (localhost, 127.0.0.1).
- Využíváno například u grafického rozhraní.
- Výhoda: relativně snadný převod na síťovou aplikaci.
Proměnné prostředí
- Proměnné prostředí se dědí z rodičovských procesů na dceřiné.
- Tímto způsobem se často předává informace o nastavení cest k významným adresářům (pro komunikaci prostřednictvím souborů).
- Viz stránka Proměnné prostředí.
Signály
- Speciální mechanismus pro komunikaci mezi operačním systémem a procesy navzájem.
- Může posílat uživatel prostřednictvím příkazu
kill
.
Příklady signálů
- TERM (TERMinate)
- požádá aplikaci o ukončení
- Vysílá „zavírací tlačítko“.
- INT (INTerrupt)
- Násilné ukončení.
- Kombinace „Ctrl-C“.
- KILL
- aplikace je „zabita“
- jediný signál, který se neposílá procesu, zpracuje přímo operační systém.
- NOHUP (NO HangUP)
- Proces neskončí při ukončení rodičovského procesu.
Adresář /proc
- zjištění informací o procesu.