in maniera uniforme RTT.
\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.
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
\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
% 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
Inoltre, per tenere conto delle diverse condizioni in cui può trovarsi la
linea di comunicazione, TCP comprende anche un algoritmo di calcolo dinamico
del tempo di andata e ritorno dei pacchetti fra un client e un server (il
-cosiddetto RTT, \textit{round-trip time}), che lo rende in grado di adattarsi
-alle condizioni della rete per non generare inutili ritrasmissioni o cadere
-facilmente in timeout.
+cosiddetto RTT, \itindex{Round~Trip~Time} \textit{Round Trip Time}), che lo
+rende in grado di adattarsi alle condizioni della rete per non generare
+inutili ritrasmissioni o cadere facilmente in timeout.
Inoltre TCP è in grado di preservare l'ordine dei dati assegnando un numero di
sequenza ad ogni byte che trasmette. Ad esempio se un'applicazione scrive 3000
\item[\const{SIOCGSTAMP}] restituisce il contenuto di una struttura
\struct{timeval} con la marca temporale dell'ultimo pacchetto ricevuto sul
socket, questa operazione può essere utilizzata per effettuare delle
- misurazioni precise del tempo di andata e ritorno\footnote{il cosiddetto
- \itindex{round~trip~time} \textit{round trip time}.} dei pacchetti sulla
- rete.
+ misurazioni precise del tempo di andata e ritorno\footnote{il
+ \itindex{Round~Trip~Time} \textit{Round Trip Time} cui abbiamo già
+ accennato in sez.~\ref{sec:net_tcp}.} dei pacchetti sulla rete.
\item[\const{SIOCSPGRP}] imposta il processo o il \itindex{process~group}
\textit{process group} a cui inviare i segnali \const{SIGIO} e
una macchina remota occorre un certo tempo perché i pacchetti vi arrivino,
vengano processati, e poi tornino indietro. Considerando trascurabile il tempo
di processo, questo tempo è quello impiegato nella trasmissione via rete, che
-viene detto RTT (dalla denominazione inglese \textit{Round Trip Time}) ed è
-quello che viene stimato con l'uso del comando \cmd{ping}.
+viene detto RTT (dalla denominazione inglese \itindex{Round~Trip~Time}
+\textit{Round Trip Time}) ed è quello che viene stimato con l'uso del comando
+\cmd{ping}.
A questo punto, se torniamo al codice mostrato in
fig.~\ref{fig:TCP_ClientEcho_third}, possiamo vedere che mentre i pacchetti