Komunikace mezi procesy
                              -=-=-=-=-=-=-=-=-=-=-=-=-

      "Are [Linux users] lemmings collectively jumping off of the cliff of
                reliable, well-engineered commercial software?"
                                 -- Matt Welsh

          Klasický UNIX nabízel jeden jednoduchý prostředek pro komunikaci
      - pipe. To je cosi  jako  soubor ale nikam se neukládá.  Pokud  pipe
      otevřete,  dostanete  dva file  descriptory - do jednoho  zapisujete
      a zdruhého  můžete  číst. Komunikace tedy funguje pouze mezi rodičem
      a potomkem ale přesto je velmi užitečná. Například:

      ls | more

          V dosu  vyžaduje  dočasný  soubor s výstupem  ls. V UNIXu  shell
      vytvoří  pipe. Do jedné  strany  nechá ls zapisovat a druhou  stranu
      předá  more pro čtení.  More  tedy  zobrazuje  zároveň co ls pracuje
      a není nutné dělat žádné dočasné soubory.

          Proto,  aby  mohly  i jiné  procesy  spolu  komunikovat  vzniklo
      fifo  (first in first  out). To je vlastne  pipe ale má jméno. Je to
      tedy  soubor na disku a po jeho  otevření  se můžete  spojit s jiným
      procesem.

          Mikrojádra zase většinou  nabízí  komunikaci pomocí zpráv. Každý
      server čeká na určitém portu a program, když po něm neco chce proste
      pošlě  message s daným  příkazem na jeho port.  Otevře si teké  svůj
      port a počká na odpověď.  Tento  mechanizmus se potom velice  snadno
      posílá přes síť.

          BSD UNIX zavedl  sockety. To je opět cosi jako pipe, ale funguje
      i přes síť a má některá další rozšíření.

          SystemV do UNIXu zase  přidal IPC (Interprocess  communication).
      To má funkce pro semafory, sdílenou pamět a zprávy.


            výheň