X-Git-Url: https://gapil.gnulinux.it/gitweb/?p=gapil.git;a=blobdiff_plain;f=fileio.tex;h=be0ef23cdd39721835c9b64627e74a273e64a90c;hp=16a8ca824f86999010a18662f48d15c36df3c9d5;hb=5afbcf1d6a84ab2a527859d8fd05b75a31e39736;hpb=be0113897fdc6774f0dcc3f9c91fe5e76c5dd0a5 diff --git a/fileio.tex b/fileio.tex index 16a8ca8..be0ef23 100644 --- a/fileio.tex +++ b/fileio.tex @@ -59,10 +59,10 @@ file dovrà essere chiuso, e questo chiuderà il canale di comunicazione impedendo ogni ulteriore operazione. All'interno di ogni processo i file aperti sono identificati da un numero -intero non negativo, che viene chiamato \textit{file descriptor}. Quando un -file viene aperto la funzione \func{open} restituisce questo numero, tutte le -ulteriori operazioni dovranno essere compiute specificando questo stesso -numero come argomento alle varie funzioni dell'interfaccia. +intero non negativo, che viene chiamato appunto \textit{file descriptor}. +Quando un file viene aperto la funzione \func{open} restituisce questo numero, +tutte le ulteriori operazioni dovranno essere compiute specificando questo +stesso numero come argomento alle varie funzioni dell'interfaccia. \itindbeg{process~table} \itindbeg{file~table} @@ -109,7 +109,7 @@ particolare: \centering \includegraphics[width=12cm]{img/procfile} \caption{Schema della architettura dell'accesso ai file attraverso - l'interfaccia dei \textit{file descriptor}.} + l'interfaccia dei file descriptor.} \label{fig:file_proc_file} \end{figure} @@ -133,18 +133,18 @@ essenziali come: \textit{file table}. \end{itemize*} -In questa infrastruttura un \textit{file descriptor} non è altro che l'intero -positivo che indicizza quest'ultima tabella, e che consente di recuperare il -puntatore alla struttura \kstruct{file} corrispondente al file aperto dal -processo a cui era stato assegnato questo indice. Una volta ottenuta grazie al -\textit{file descriptor} la struttura \kstruct{file} corrispondente al file -voluto nella \textit{file table}, il kernel potrà usare le funzioni messe -disposizione dal VFS per eseguire sul file tutte le operazioni necessarie. +In questa infrastruttura un file descriptor non è altro che l'intero positivo +che indicizza quest'ultima tabella, e che consente di recuperare il puntatore +alla struttura \kstruct{file} corrispondente al file aperto dal processo a cui +era stato assegnato questo indice. Una volta ottenuta grazie al file +descriptor la struttura \kstruct{file} corrispondente al file voluto nella +\textit{file table}, il kernel potrà usare le funzioni messe disposizione dal +VFS per eseguire sul file tutte le operazioni necessarie. Il meccanismo dell'apertura dei file prevede che venga sempre fornito il primo -\textit{file descriptor} libero nella tabella, e per questo motivo essi -vengono assegnati in successione tutte le volte che si apre un nuovo file, -posto che non ne sia stato chiuso nessuno in precedenza. +file descriptor libero nella tabella, e per questo motivo essi vengono +assegnati in successione tutte le volte che si apre un nuovo file, posto che +non ne sia stato chiuso nessuno in precedenza. \itindbeg{standard~input} \itindbeg{standard~output} @@ -178,12 +178,9 @@ tab.~\ref{tab:file_std_files}. \textbf{File} & \textbf{Significato} \\ \hline \hline - \constd{STDIN\_FILENO} & \textit{file descriptor} dello \textit{standard - input}.\\ - \constd{STDOUT\_FILENO} & \textit{file descriptor} dello \textit{standard - output}.\\ - \constd{STDERR\_FILENO} & \textit{file descriptor} dello \textit{standard - error}.\\ + \constd{STDIN\_FILENO} & file descriptor dello \textit{standard input}.\\ + \constd{STDOUT\_FILENO} & file descriptor dello \textit{standard output}.\\ + \constd{STDERR\_FILENO} & file descriptor dello \textit{standard error}.\\ \hline \end{tabular} \caption{Costanti definite in \headfile{unistd.h} per i file standard.} @@ -2462,7 +2459,7 @@ concorrente ed in sez.~\ref{sec:file_access_control} per il controllo di accesso. Per ragioni storiche la struttura di dati che rappresenta uno \textit{stream} -è stata chiamata \type{FILE}, questi oggetti sono creati dalle funzioni di +è stata chiamata \typed{FILE}, questi oggetti sono creati dalle funzioni di libreria e contengono tutte le informazioni necessarie a gestire le operazioni sugli \textit{stream}, come la posizione corrente, lo stato del buffer e degli indicatori di stato e di fine del file. @@ -2940,7 +2937,7 @@ intero di tipo \ctyp{long}. Dato che in certi casi, ad esempio quando si usa un filesystem indicizzato a 64 bit su una macchina con architettura a 32 bit, questo può non essere possibile lo standard POSIX ha introdotto le nuove funzioni \funcd{fgetpos} e \funcd{fsetpos}, che invece usano il nuovo tipo -\type{fpos\_t}, ed i cui prototipi sono: +\typed{fpos\_t}, ed i cui prototipi sono: \begin{funcproto}{ \fhead{stdio.h}