+In tutti i sistemi unix-like esiste una convenzione generale per cui ogni
+processo viene lanciato con almeno tre file aperti. Questi, per quanto
+dicevamo prima, avranno come \textit{file descriptor} i valori 0, 1 e 2.
+Benché questa sia soltanto una convenzione, essa è seguita dalla gran parte
+delle applicazioni, e non seguirla potrebbe portare a gravi problemi di
+incompatibilità.
+
+
+Il primo file è sempre associato a quello che viene chiamato \textit{standard
+ input}, è cioè il file da cui il processo si aspetta di ricevere i dati in
+ingresso (nel caso della shell, è associato alla lettura della tastiera); il
+secondo file è il cosiddetto \textit{standard output}, cioè il file su cui ci
+si aspetta debbano essere inviati i dati in uscita (sempre nel caso della
+shell, è il terminale su cui si sta scrivendo), il terzo è lo \textit{standard
+ error}, su cui viene inviato l'output relativo agli errori.
+
+Lo standard POSIX.1 provvede tre costanti simboliche, definite nell'header
+\file{unistd.h}, al posto di questi valori numerici:
+\begin{itemize}
+\item \macro{STDIN\_FILENO} \textit{file descriptor} dello \textit{standard
+ input}
+\item \macro{STDOUT\_FILENO} \textit{file descriptor} dello \textit{standard
+ output}
+\item \macro{STDERR\_FILENO} \textit{file descriptor} dello \textit{standard
+ error}
+\end{itemize}