basata dell'interfaccia dei \textit{file descriptor}, che, sia pure con
differenze nella realizzazione pratica, resta sostanzialmente la stessa in
tutte le implementazione di un sistema unix-like.
basata dell'interfaccia dei \textit{file descriptor}, che, sia pure con
differenze nella realizzazione pratica, resta sostanzialmente la stessa in
tutte le implementazione di un sistema unix-like.
\centering
\includegraphics[width=13cm]{img/procfile}
\caption{Schema della architettura dell'accesso ai file attraverso
\centering
\includegraphics[width=13cm]{img/procfile}
\caption{Schema della architettura dell'accesso ai file attraverso
\label{fig:file_proc_file}
\end{figure}
Ritorneremo su questo schema più volte, dato che esso è fondamentale per
\label{fig:file_proc_file}
\end{figure}
Ritorneremo su questo schema più volte, dato che esso è fondamentale per
sulla condivisione dei file, in genere accessibile dopo una \func{fork}, in
\secref{sec:file_sharing}). Il nuovo file descriptor è settato di default per
restare aperto attraverso una \func{exec} (come accennato in
sulla condivisione dei file, in genere accessibile dopo una \func{fork}, in
\secref{sec:file_sharing}). Il nuovo file descriptor è settato di default per
restare aperto attraverso una \func{exec} (come accennato in
L'argomento \param{mode} specifica i permessi con cui il file viene
eventualmente creato; i valori possibili sono gli stessi già visti in
L'argomento \param{mode} specifica i permessi con cui il file viene
eventualmente creato; i valori possibili sono gli stessi già visti in
\macro{EAGAIN} non sono errori. La prima si verifica quando la \func{read} è
bloccata in attesa di dati in ingresso e viene interrotta da un segnale; in
tal caso l'azione da prendere è quella di rieseguire la funzione. Torneremo
\macro{EAGAIN} non sono errori. La prima si verifica quando la \func{read} è
bloccata in attesa di dati in ingresso e viene interrotta da un segnale; in
tal caso l'azione da prendere è quella di rieseguire la funzione. Torneremo
La seconda si verifica quando il file è in modalità non bloccante e non ci
sono dati in ingresso: la funzione allora ritorna immediatamente con un errore
La seconda si verifica quando il file è in modalità non bloccante e non ci
sono dati in ingresso: la funzione allora ritorna immediatamente con un errore