X-Git-Url: https://gapil.gnulinux.it/gitweb/?a=blobdiff_plain;f=fileadv.tex;h=a4ca6e28ae80d4cd30656cb521cd36fa588be2c8;hb=7d039accae81b30524e7a01f0b3d24ae79ddbaf1;hp=1de6aeb86eac23b1e881d49ddeeabf3c5100a196;hpb=1add1cb54c1754ed030033b994a68c6678d7d275;p=gapil.git diff --git a/fileadv.tex b/fileadv.tex index 1de6aeb..a4ca6e2 100644 --- a/fileadv.tex +++ b/fileadv.tex @@ -26,12 +26,12 @@ controllo più dettagliato delle modalità di I/O. \itindbeg{file~locking} -In sez.~\ref{sec:file_sharing} abbiamo preso in esame le modalità in cui un -sistema unix-like gestisce la condivisione dei file da parte di processi -diversi. In quell'occasione si è visto come, con l'eccezione dei file aperti -in \itindex{append~mode} \textit{append mode}, quando più processi scrivono -contemporaneamente sullo stesso file non è possibile determinare la sequenza -in cui essi opereranno. +In sez.~\ref{sec:file_shared_access} abbiamo preso in esame le modalità in cui +un sistema unix-like gestisce l'accesso concorrente ai file da parte di +processi diversi. In quell'occasione si è visto come, con l'eccezione dei file +aperti in \itindex{append~mode} \textit{append mode}, quando più processi +scrivono contemporaneamente sullo stesso file non è possibile determinare la +sequenza in cui essi opereranno. Questo causa la possibilità di una \itindex{race~condition} \textit{race condition}; in generale le situazioni più comuni sono due: l'interazione fra @@ -260,8 +260,8 @@ Questa struttura prevede che, quando si richiede la rimozione di un file descriptor che fa riferimento ad una voce nella \itindex{file~table} \textit{file table} corrispondente a quella registrata nel blocco. Allora se ricordiamo quanto visto in sez.~\ref{sec:file_dup} e -sez.~\ref{sec:file_sharing}, e cioè che i file descriptor duplicati e quelli -ereditati in un processo figlio puntano sempre alla stessa voce nella +sez.~\ref{sec:file_shared_access}, e cioè che i file descriptor duplicati e +quelli ereditati in un processo figlio puntano sempre alla stessa voce nella \itindex{file~table} \textit{file table}, si può capire immediatamente quali sono le conseguenze nei confronti delle funzioni \func{dup} e \func{fork}.