% TODO l'I/O sulle porte di I/O
% consultare le manpage di ioperm, iopl e outb
-
-
+% TODO non so dove trattarli, ma dal 2.6.39 ci sono i file handle, vedi
+% http://lwn.net/Articles/432757/
% LocalWords: dell'I locking multiplexing cap dell' sez system call socket BSD
\subsection{Le funzioni \func{sync} e \func{fsync}}
\label{sec:file_sync}
+% TODO, aggiungere syncfs, introdotta con il 2.6.39
+
Come accennato in sez.~\ref{sec:file_close} tutte le operazioni di scrittura
sono in genere bufferizzate dal kernel, che provvede ad effettuarle in maniera
asincrona (ad esempio accorpando gli accessi alla stessa zona del disco) in un
\footnotetext{specifico di Linux, introdotto a partire dal kernel 2.6.28, non
previsto da POSIX e non presente in altri sistemi unix-like.}
+% TODO, dal 2.6.39 anche CLOCK_BOOTTIME, vedi http://lwn.net/Articles/432757/
+
Per poter utilizzare queste funzionalità le \acr{glibc} richiedono che la
macro \macro{\_POSIX\_C\_SOURCE} sia definita ad un valore maggiore o uguale
di \texttt{199309L} (vedi sez.~\ref{sec:intro_gcc_glibc_std}), inoltre i
\end{functions}
+% TODO, dal 2.6.39 aggiunta clock_adjtime
+
Con l'introduzione degli orologi ad alta risoluzione è divenuto possibile
ottenere anche una gestione più avanzata degli allarmi; abbiamo già visto in
sez.~\ref{sec:sig_alarm_abort} come l'interfaccia di \func{setitimer} derivata