Komunikace mezi procesy
Z MiS
(Rozdíly mezi verzemi)
m (→Roura (pipe): Oprava překlepů) |
m (Přidán odkaz na Nástroje pro práci s procesy.) |
||
Řádka 23: | Řádka 23: | ||
== Signály == | == Signály == | ||
* Speciální mechanismus pro komunikaci mezi operačním systémem a procesy navzájem. | * 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 <code>kill</code>. | + | * Může posílat uživatel prostřednictvím příkazu <code>kill</code> (viz také [[Nástroje pro práci s procesy]]). |
=== Příklady signálů === | === Příklady signálů === | ||
; TERM (TERMinate) | ; TERM (TERMinate) | ||
Řádka 39: | Řádka 39: | ||
* zjištění informací o procesu. | * zjištění informací o procesu. | ||
== Schránka operačního systému == | == Schránka operačního systému == | ||
+ | |||
+ | |||
+ | == Související stránky == | ||
+ | * [[Nástroje pro práci s procesy]], [[Přístup procesů do paměti]] |
Verze z 24. 10. 2017, 07:45
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 speciá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
(viz také Nástroje pro práci s procesy).
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.