inter-process-comm
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 | ||
| inter-process-comm [2016/05/18 13:55] – [Zamykaní] djbuldog | inter-process-comm [2025/08/28 10:09] (aktuální) – upraveno mimo DokuWiki 127.0.0.1 | ||
|---|---|---|---|
| Řádek 1: | Řádek 1: | ||
| - | ====== Mezi-procesová komunikace ====== | + | ====== Mezi-procesová komunikace |
| * sdílená paměť | * sdílená paměť | ||
| Řádek 11: | Řádek 11: | ||
| ===== Sdílená paměť ===== | ===== Sdílená paměť ===== | ||
| - | * http://www3.physnet.uni-hamburg.de/physnet/ | + | * [[http://advancedlinuxprogramming.com/alp-folder/alp-ch05-ipc.pdf|výborné |
| - | * všechny procesy mají přístup do paměti ihned | + | |
| - | * začíná se voláním '' | + | |
| - | * pro přístup do sdílené paměti | + | |
| - | * | + | |
| + | * POSIX Shared Memory Operations [[http:// | ||
| + | * mmap(2) - Map a file or shared memory object into the address space. | ||
| + | * shm_open(2) - Create, or gain access to, a shared memory object. | ||
| + | * shm_unlink(2) - Destroy a shared memory object when no references to it remain open. | ||
| + | * http:// | ||
| + | * všechny procesy mají přístup do paměti ihned | ||
| + | * začíná se voláním '' | ||
| + | * pro přístup do sdílené paměti musí procesy použít stejný name... což je string, například pathname | ||
| + | |||
| + | * System V Shared Memory Functions [[http:// | ||
| + | * shmget(2) - Create a shared memory IPC object or return the ID of one. | ||
| + | * shmctl(2) - Get the status of a shared memory segment, change permissions or user IDs, or lock or unlock a segment in memory. | ||
| + | * shmat(2) - Attach a shared memory segment to the address space. | ||
| + | * shmdt(2) - Detach a shared memory segment from the address space. | ||
| ==== Zamykaní ==== | ==== Zamykaní ==== | ||
| Řádek 28: | Řádek 38: | ||
| * nastaví se počet X, kolik procesů/ | * nastaví se počet X, kolik procesů/ | ||
| * slouží k omezení paralelního přístupu na max X | * slouží k omezení paralelního přístupu na max X | ||
| + | |||
| + | Existuje C++ třída mutex | ||
| + | |||
| + | POSIX semafory [[http:// | ||
| + | * pojmenované semafory | ||
| + | * identifikuje se jménem se ve tvaru "/ | ||
| + | * vytváří se jako soubor v /dev/shm s názvem " | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * nepojmenované semafory | ||
| * identifikuje se číslem | * identifikuje se číslem | ||
| + | * vytváří se v paměti | ||
| + | * jako globální proměnná - mezi vlákny | ||
| + | * ve sdílené paměti - mezi procesy | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | |||
| + | System V Semafor [[http:// | ||
| * oprávnění se nastavuje 9 bitovým číslem (obdoba oprávnění u souboru), tedy například 666 | * oprávnění se nastavuje 9 bitovým číslem (obdoba oprávnění u souboru), tedy například 666 | ||
| - | * '' | + | * '' |
| - | * '' | + | * '' |
| * semafor prý existuje, i když všechny procesy skončí!!! | * semafor prý existuje, i když všechny procesy skončí!!! | ||
| * lze vypsat přes ipcs -s | * lze vypsat přes ipcs -s | ||
| - | [[http:// | ||
| ===== Nepojmenovaná roura ===== | ===== Nepojmenovaná roura ===== | ||
inter-process-comm.1463572542.txt.gz · Poslední úprava: (upraveno mimo DokuWiki)
