Posredno komuniciranje

Sistemska klica pošlji in prejmi sedaj določata neko vmesno bitnost kot cilj ali vir: "poštni nabiralnik".

    send(tothismailbox, msg, msg_size);
    receive(fromthismailbox, msg, &how_long);

Poštni nabiralnik je sistemski objekt, ki ga ustvari jedro na zahtevo uporabniškega procesa.

Različni procesi lahko pošiljajo sporočila v isti "mailbox". Poljuben proces lahko sprejema sporočila neznanih procesov.

Poštni nabiralnik je lahko:

  • Osebni: Lastnik osebnega poštnega nabiralnika je proces, ki ga je zahteval. Ta proces in procesi, ki jih ustvari sam, so edini ki lahko sprejemajo sporočila preko tega poštnega nabiralnika. Osebni poštni nabiralnik preneha delovati, ko se zaključijo vsi prej navedeni procesi. Osebne poštne nabiralnike ponavadi imenujemo vrata (ports). Primer: UNIX sockets.
  • Javni: Lastnik javnih poštnih nabiralnikov je sistem. Do njih lahko dostopajo vsi procesi, ki imajo pravico dostopa. Javni poštni nabiralnik ostane aktiven tudi potem, ko se proces, ki ga je ustvail konča. Primer: System V UNIX message queues.