c_multiprocessing
Rozdíly
Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.
| Obě strany předchozí revizePředchozí verzeNásledující verze | Předchozí verze | ||
| c_multiprocessing [2014/01/15 10:15] – [Praxe] djbuldog | c_multiprocessing [2025/08/28 10:09] (aktuální) – upraveno mimo DokuWiki 127.0.0.1 | ||
|---|---|---|---|
| Řádek 55: | Řádek 55: | ||
| * Linux nazývá vlákna tasks | * Linux nazývá vlákna tasks | ||
| * Vytváření vláken je realizováno službou clone() | * Vytváření vláken je realizováno službou clone() | ||
| - | * fork() | + | * [[fork|fork()]] |
| * vytvoří zcela samostatný proces s kopií prostoru rodičovského procesu. | * vytvoří zcela samostatný proces s kopií prostoru rodičovského procesu. | ||
| * Uplaťnuje se přitom **CoW** (copy-on-write). Mechanismus CoW namapuje virtuální pamět potomka na fyzickou paměť rodiče. Až pří zápisu do paměti jakéhokoliv z procesů se přislušné modifikované stránky kopírují do nové stránky ve fyzické paměti | * Uplaťnuje se přitom **CoW** (copy-on-write). Mechanismus CoW namapuje virtuální pamět potomka na fyzickou paměť rodiče. Až pří zápisu do paměti jakéhokoliv z procesů se přislušné modifikované stránky kopírují do nové stránky ve fyzické paměti | ||
| Řádek 67: | Řádek 67: | ||
| * fork je programátorsky jednodušší | * fork je programátorsky jednodušší | ||
| * když se ukončí vlákno, někdo by měl vyzvednout návratovou hodnotu (funkce pthread_wait nebo tak) | * když se ukončí vlákno, někdo by měl vyzvednout návratovou hodnotu (funkce pthread_wait nebo tak) | ||
| + | * vlákna sdílý paměť, otevřené soubory (fd), sockety, signály (bacha na obsluhu signálu, např používání sleep) | ||
c_multiprocessing.1389777329.txt.gz · Poslední úprava: (upraveno mimo DokuWiki)
