X-Git-Url: https://gapil.gnulinux.it/gitweb/?p=gapil.git;a=blobdiff_plain;f=ipc.tex;h=f3de1c882736add237a9df5f8ddf2de477cff591;hp=eecdb32a7b8e64eeaaa593593528a4c6faf02bdc;hb=f43b330570ece41d80aaca3c775eb4b7835aab28;hpb=ba007b78543f53433b49aba62109a90848dccf0f diff --git a/ipc.tex b/ipc.tex index eecdb32..f3de1c8 100644 --- a/ipc.tex +++ b/ipc.tex @@ -6,27 +6,50 @@ \label{sec:ipc_intro} Uno degli aspetti fondamentali della programmazione in unix è la comunicazione -fra processi. In questo testo affronteremo solo alcuni dei meccanismi -fondamentali che permettono di scrivere applicazioni, esistono pure sistemi -più complessi ed evoluti come le RPC (\textit{Remote Procedure Calls}) e -CORBA (\textit{Common Object Request Brocker Architecture}) non saranno -affrontati qui. +fra processi. In questo capitolo affronteremo solo alcuni dei 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. -\section{Le pipes standard} +Esistono pure sistemi più complessi ed evoluti come le RPC (\textit{Remote + Procedure Calls}) e CORBA (\textit{Common Object Request Brocker + Architecture}) che non saranno affrontati qui. + + +\section{La comunicazione fra processi tradizionale} +\label{sec:ipc_unix} + +Il primo meccanismo di comunicazione fra processi usato dai sistemi unix-like +è quello delle \textit{pipe}, in questa sezione descriveremo le sue basi, le +funzioni che ne gestiscono l'uso e le varie forme in cui si è evoluto. + + +\subsection{Le \textit{pipe} standard} \label{sec:ipc_pipes} -\section{Le pipes con nome} -\label{sec:ipc_nampipe} -\section{System V IPC} + +\subsection{Le \textit{pipe} con nome, o \textit{fifo}} +\label{sec:ipc_named_pipe} + + + + +\section{La comunicazione fra processi di System V} \label{sec:ipc_sysv} -\section{Code di messaggi} +Per ovviare ad i vari limiti dei meccanismo tradizionale di comunicazione fra +processi basato sulle \textit{pipe}, nello sviluppo di System V vennero +introdotti una serie di nuovi oggetti che garantissero una maggiore +flessibilità; in questa sezione esamineremo quello che viene ormai chiamato il +sistema \textit{SystemV IPC}. + +\subsection{Code di messaggi} \label{sec:ipc_messque} -\section{Semafori} +\subsection{Semafori} \label{sec:ipc_semaph} -\section{Memoria condivisa} +\subsection{Memoria condivisa} \label{sec:ipc_shar_mem}