X-Git-Url: https://gapil.gnulinux.it/gitweb/?p=gapil.git;a=blobdiff_plain;f=ipc.tex;h=03bc5e790755d3525bed19df604eb9b2e8cc9c4e;hp=709db831b78fb53d5411a3625538b86f9a5eb581;hb=017baa9ca8e1da7c8951d269125cfab35c427e08;hpb=bf78d63598adf72d71aeea3c32277dd63484bb02 diff --git a/ipc.tex b/ipc.tex index 709db83..03bc5e7 100644 --- a/ipc.tex +++ b/ipc.tex @@ -6,7 +6,7 @@ Uno degli aspetti fondamentali della programmazione in un sistema unix-like la comunicazione fra processi. In questo capitolo affronteremo solo i meccanismi più elementari che permettono di mettere in comunicazione processi diversi, come quelli tradizionali che coinvolgono \textit{pipe} e -\textit{fifo} e i meccanismi di intercomunicazione di System V. +\textit{fifo} e i meccanismi di intercomunicazione di System V e quelli POSIX. Tralasceremo invece tutte le problematiche relative alla comunicazione attraverso la rete (e le relative interfacce) che saranno affrontate in @@ -591,6 +591,29 @@ programmazione che garantissero una maggiore flessibilit esamineremo quello che viene ormai chiamato il \textsl{Sistema di comunicazione inter-processo} di System V , più comunemente noto come \textit{System V IPC (Inter-Process Comunication)}. + + + +\subsection{Considerazioni generali} +\label{sec:ipc_sysv_generic} + +La principale caratteristica, (che può essere considerato anche uno dei suoi +maggiori difetti) del sistema di IPC di System V è che è basato su oggetti che +risiedono nel kernel, a differenza delle pipe che sono locali ai processi che +condividono lo stesso file descriptor, e delle fifo, cui invece si accede +attraverso il filesystem. + +Ad essi si accede attraverso un identificatore generato autonomamente dal +kernel alla loro creazione (come un numero intero progressivo, in maniera +simile a quanto fatto per i \acr{pid}). A ciascun oggetto è pure associata una +chiave, che di norma viene usata per ricavare l'identificatore. + +Una seconda caratteristica di questi oggetti è che non prevedono un numero di + + + + + \subsection{Code di messaggi}