PredchádzajúciHoreDomovNasledujúci

Kapitola 6. Komunikácia medzi procesmi pomocou rúr

Obsah

Úvod
Pomenované rúry, mkfifo, mknod
Nepomenované rúry, pipe
Použitie anonymných rúr na komunikáciu medzi procesmi
Presmerovanie, dup2
Jednoduchá implementácia pipeline, pipe+fork+exec

Na tomto cvičení sa oboznámime s rúrami - prostriedkom na komunikáciu medzi procesmi.

Rúry sa obvykle využívajú na komunikáciu medzi procesmi v prípadoch, keď potrebujeme preniesť prúd údajov - t.j. keď nie je dopredu známy objem dát, ktorý budeme prenášať alebo keď prenášané dáta nemajú pevnú štruktúru.

Na unixových systémoch sú implementované dva varianty rúr:

  • Pomenované - sú reprezentované špeciálnym súborom v súborovom systéme (cesta k tomuto súboru je meno rúry). Tieto rúry je možné použiť aj na komunikáciu medzi procesmi, ktoré nie sú vo vzťahu predok-potomok.
  • Nepomenované - nemajú externú reprezentáciu, v rámci programu, ktorý beží v procese sú identifikované dvojicou file descriptorov. Takéto rúry je možné použiť iba na komunikáciu medzi procesmi vo vzťahu predok-potomok.

V unixových systémoch sú rúry implementované ako jednosmerné, t.j. do jedného konca rúry sa zapisuje a z druhého konca je možné čítať.

Cvičenie Choďte do adresára pre toto cvičenie:

$> cd ~/os/cv06

PredchádzajúciHoreDomovNasledujúci