X-Git-Url: https://gapil.gnulinux.it/gitweb/?p=gapil.git;a=blobdiff_plain;f=ipc.tex;h=783bfee98646f71c1683a4f133c0768828d19dd9;hp=7bf418608b81f17be4eaf00503d9878574f86576;hb=9c3be0a6a901fad667ba1abcd8b46c712020cf26;hpb=78a82bdb333ca71e395ba39a5c03745761341150 diff --git a/ipc.tex b/ipc.tex index 7bf4186..783bfee 100644 --- a/ipc.tex +++ b/ipc.tex @@ -1,3 +1,13 @@ +%% ipc.tex +%% +%% Copyright (C) 2000-2002 Simone Piccardi. Permission is granted to +%% copy, distribute and/or modify this document under the terms of the GNU Free +%% Documentation License, Version 1.1 or any later version published by the +%% Free Software Foundation; with the Invariant Sections being "Prefazione", +%% with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the +%% license is included in the section entitled "GNU Free Documentation +%% License". +%% \chapter{La comunicazione fra processi} \label{cha:IPC} @@ -2441,7 +2451,7 @@ ripristino non Come esempio di uso dell'interfaccia dei semafori vediamo come implementare con essa dei semplici \textit{mutex} (cioè semafori binari), tutto il codice -in questione, contenuto nel file \file{wrappers.h} allegato ai sorgenti, è +in questione, contenuto nel file \file{Mutex.c} allegato ai sorgenti, è riportato in \figref{fig:ipc_mutex_create}. Utilizzeremo l'interfaccia per creare un insieme contenente un singolo semaforo, per il quale poi useremo un valore unitario per segnalare la disponibilità della risorsa, ed un valore @@ -2887,18 +2897,18 @@ memoria condivisa; questo viene identificato con l'indirizzo \param{shmaddr} restituito dalla precedente chiamata a \func{shmat} con il quale era stato agganciato al processo. -Per capire meglio il funzionamento delle funzioni facciamo ancora una volta -riferimento alle strutture con cui il kernel implementa i segmenti di memoria -condivisa; uno schema semplificato della struttura è illustrato in -\figref{fig:ipc_shm_struct}. +%% Per capire meglio il funzionamento delle funzioni facciamo ancora una volta +%% riferimento alle strutture con cui il kernel implementa i segmenti di memoria +%% condivisa; uno schema semplificato della struttura è illustrato in +%% \figref{fig:ipc_shm_struct}. -\begin{figure}[htb] - \centering - \includegraphics[width=10cm]{img/shmstruct} - \caption{Schema dell'implementazione dei segmenti di memoria condivisa in - Linux.} - \label{fig:ipc_shm_struct} -\end{figure} +%% \begin{figure}[htb] +%% \centering +%% \includegraphics[width=10cm]{img/shmstruct} +%% \caption{Schema dell'implementazione dei segmenti di memoria condivisa in +%% Linux.} +%% \label{fig:ipc_shm_struct} +%% \end{figure} @@ -2980,9 +2990,9 @@ quella di segnalare l'occupazione di una risorsa, senza necessit che questa si liberi; ad esempio la si usa spesso per evitare interferenze sull'uso delle porte seriali da parte di più programmi: qualora si trovi un file di lock il programma che cerca di accedere alla seriale si limita a -segnalare che la risorsa non è disponibile; sempre in \file{wrapper.h} si sono -predisposte due funzioni, \func{LockFile} e \func{UnlockFile}, da utilizzare -allo scopo. +segnalare che la risorsa non è disponibile; in \file{LockFile.c} (un'altro dei +sorgenti allegati alla guida) si sono predisposte due funzioni, +\func{LockFile} e \func{UnlockFile}, da utilizzare allo scopo. Dato che i file di lock presentano gli inconvenienti illustrati in precedenza, la tecnica alternativa più comune è quella di fare ricorso al \textit{file