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 14:27] – [Sdílená paměť] 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:// | + | * [[http:// |
| + | |||
| + | * POSIX Shared Memory Operations | ||
| * mmap(2) - Map a file or shared memory object into the address space. | * 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_open(2) - Create, or gain access to, a shared memory object. | ||
| Řádek 20: | Řádek 22: | ||
| * pro přístup do sdílené paměti musí procesy použít stejný name... což je string, například pathname | * pro přístup do sdílené paměti musí procesy použít stejný name... což je string, například pathname | ||
| - | * [[http:// | + | * System V Shared Memory Functions |
| * shmget(2) - Create a shared memory IPC object or return the ID of one. | * 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. | * shmctl(2) - Get the status of a shared memory segment, change permissions or user IDs, or lock or unlock a segment in memory. | ||
| Řádek 36: | Řá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:// | ||
| - | [[http:// | ||
| ===== Nepojmenovaná roura ===== | ===== Nepojmenovaná roura ===== | ||
inter-process-comm.1463574471.txt.gz · Poslední úprava: (upraveno mimo DokuWiki)
