X-Git-Url: https://gapil.gnulinux.it/gitweb/?a=blobdiff_plain;f=fileunix.tex;h=953bdcb8f1a371952f318c68ee00fb4ef1eecc9e;hb=74b559a3958675adf01c9a906cdd485eaf399290;hp=bfaab858ad4566a48af8e5c4240b5eb3b2a17356;hpb=2ba81410053202b58aec9ce40344794d1c131491;p=gapil.git diff --git a/fileunix.tex b/fileunix.tex index bfaab85..953bdcb 100644 --- a/fileunix.tex +++ b/fileunix.tex @@ -1,6 +1,6 @@ %% fileunix.tex %% -%% Copyright (C) 2000-2005 Simone Piccardi. Permission is granted to +%% Copyright (C) 2000-2006 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 "Un preambolo", @@ -81,7 +81,7 @@ file, fra cui: \item lo stato del file (nel campo \var{f\_flags}). \item il valore della posizione corrente (l'\textit{offset}) nel file (nel campo \var{f\_pos}). -\item un puntatore all'inode\index{inode}\footnote{nel kernel 2.4.x si è in +\item un puntatore \index{inode} all'inode\footnote{nel kernel 2.4.x si è in realtà passati ad un puntatore ad una struttura \struct{dentry} che punta a sua volta all'inode\index{inode} passando per la nuova struttura del VFS.} del file. @@ -118,10 +118,10 @@ stato chiuso nessuno in precedenza). In tutti i sistemi unix-like esiste una convenzione generale per cui ogni processo viene lanciato dalla shell con almeno tre file aperti. Questi, per -quanto appena detto, avranno come \textit{file - descriptor}\index{file!descriptor} i valori 0, 1 e 2. Benché questa sia -soltanto una convenzione, essa è seguita dalla gran parte delle applicazioni, -e non aderirvi potrebbe portare a gravi problemi di interoperabilità. +quanto appena detto, avranno come \index{file!descriptor} \textit{file + descriptor} i valori 0, 1 e 2. Benché questa sia soltanto una convenzione, +essa è seguita dalla gran parte delle applicazioni, e non aderirvi potrebbe +portare a gravi problemi di interoperabilità. Il primo file è sempre associato al cosiddetto \textit{standard input}; è cioè il file da cui il processo si aspetta di ricevere i dati in ingresso. Il @@ -296,6 +296,7 @@ descriptor con il valore pi \itindex{Denial~of~Service~(DoS)} \textit{DoS}\protect\footnotemark\ quando \func{opendir} viene chiamata su una fifo o su un + dispositivo associato ad una unità a nastri, non deve dispositivo a nastri; non deve essere utilizzato al di fuori dell'implementazione di \func{opendir}. \\ \const{O\_LARGEFILE}&nel caso di sistemi a 32 bit che supportano file di @@ -509,8 +510,7 @@ file. successo e $-1$ in caso di errore nel qual caso \var{errno} assumerà uno dei valori: \begin{errlist} - \item[\errcode{ESPIPE}] \param{fd} è una pipe, un socket\index{socket} o una - fifo. + \item[\errcode{ESPIPE}] \param{fd} è una pipe, un socket o una fifo. \item[\errcode{EINVAL}] \param{whence} non è un valore valido. \end{errlist} ed inoltre \errval{EBADF}.} @@ -613,11 +613,11 @@ sez.~\ref{sec:file_noblocking}) e ritorna solo quando ne arrivano; se il numero di byte richiesti eccede quelli disponibili la funzione ritorna comunque, ma con un numero di byte inferiore a quelli richiesti. -Lo stesso comportamento avviene caso di lettura dalla rete (cioè su un -socket\index{socket}, come vedremo in sez.~\ref{sec:sock_io_behav}), o per la -lettura da certi file di dispositivo, come le unità a nastro, che -restituiscono sempre i dati ad un singolo blocco alla volta, o come le linee -seriali, che restituiscono solo i dati ricevuti fino al momento della lettura. +Lo stesso comportamento avviene caso di lettura dalla rete (cioè su un socket, +come vedremo in sez.~\ref{sec:sock_io_behav}), o per la lettura da certi file +di dispositivo, come le unità a nastro, che restituiscono sempre i dati ad un +singolo blocco alla volta, o come le linee seriali, che restituiscono solo i +dati ricevuti fino al momento della lettura. Infine anche le due condizioni segnalate dagli errori \errcode{EINTR} ed \errcode{EAGAIN} non sono propriamente degli errori. La prima si verifica @@ -842,8 +842,8 @@ Se dal punto di vista della lettura dei dati questo non comporta nessun problema, quando si andrà a scrivere le operazioni potranno mescolarsi in maniera imprevedibile. Il sistema però fornisce in alcuni casi la possibilità di eseguire alcune operazioni di scrittura in maniera coordinata anche senza -utilizzare meccanismi di sincronizzazione più complessi (come il \textit{file - locking} \index{file!locking}, che esamineremo in +utilizzare meccanismi di sincronizzazione più complessi (come il +\index{file!locking} \textit{file locking}, che esamineremo in sez.~\ref{sec:file_locking}). Un caso tipico di necessità di accesso condiviso in scrittura è quello in cui @@ -1056,7 +1056,7 @@ descriptor, che non riguardano la normale lettura e scrittura di dati, ma la gestione sia delle loro proprietà, che di tutta una serie di ulteriori funzionalità che il kernel può mettere a disposizione.\footnote{ad esempio si gestiscono con questa funzione varie modalità di I/O asincrono (vedi - sez.~\ref{sec:file_asyncronous_operation}) e il file locking + sez.~\ref{sec:file_asyncronous_operation}) e il \textit{file locking} \index{file!locking} (vedi sez.~\ref{sec:file_locking}).} Per queste operazioni di manipolazione e di controllo delle varie proprietà e @@ -1335,4 +1335,4 @@ relativi ad operazioni comunque eseguibili anche attraverso \func{fcntl}. % LocalWords: SETOWN GETSIG SETSIG sigaction SIGINFO siginfo SETLEASE lease is % LocalWords: truncate GETLEASE NOTIFY all'I AND ACCMODE ioctl everything argp % LocalWords: framebuffer request ENOTTY CDROM nell'header magic number -% LocalWords: FIOCLEX FIONCLEX FIOASYNC FIONBIO +% LocalWords: FIOCLEX FIONCLEX FIOASYNC FIONBIO NOATIME