X-Git-Url: https://gapil.gnulinux.it/gitweb/?p=gapil.git;a=blobdiff_plain;f=fileadv.tex;h=1ba5b9990692a8489fe8deefd1f9c54124dd4964;hp=ee802fb4fee414c3e308c4744f4db1789dfa1405;hb=47a00595786c34a03266f19dd5163a45da63e29f;hpb=4de1dd4a3e26e5ff1ccc64530927bae308b80688 diff --git a/fileadv.tex b/fileadv.tex index ee802fb..1ba5b99 100644 --- a/fileadv.tex +++ b/fileadv.tex @@ -2910,7 +2910,7 @@ che anzi in certi casi si potevano avere anche dei peggioramenti. Questo ha portato, per i kernel della serie 2.6,\footnote{per alcune motivazioni di questa scelta si può fare riferimento a quanto illustrato da Linus Torvalds in \href{http://www.cs.helsinki.fi/linux/linux-kernel/2001-03/0200.html} - {\texttt{http://www.cs.helsinki.fi/linux/linux-kernel/2001-03/0200.html}}.} + {\textsf{http://www.cs.helsinki.fi/linux/linux-kernel/2001-03/0200.html}}.} alla decisione di consentire l'uso della funzione soltanto quando il file da cui si legge supporta le operazioni di \textit{memory mapping} (vale a dire non è un socket) e quello su cui si scrive è un socket; in tutti gli altri @@ -2953,7 +2953,7 @@ Il concetto che sta dietro a \func{splice} invece stata la reinterpretazione che ne è stata fatta nell'implementazione su Linux realizzata da Jens Anxboe, concetti che sono esposti sinteticamente dallo stesso Linus Torvalds in \href{http://kerneltrap.org/node/6505} - {\texttt{http://kerneltrap.org/node/6505}}.} si tratta semplicemente di una + {\textsf{http://kerneltrap.org/node/6505}}.} si tratta semplicemente di una funzione che consente di fare in maniera del tutto generica delle operazioni di trasferimento di dati fra un file e un buffer gestito interamente in kernel space. In questo caso il cuore della funzione (e delle affini \func{vmsplice} @@ -3337,7 +3337,7 @@ detto che i dati vengono effettivamente spostati o copiati, il kernel infatti realizza le \textit{pipe} come un insieme di puntatori\footnote{per essere precisi si tratta di un semplice buffer circolare, un buon articolo sul tema si trova su \href{http://lwn.net/Articles/118750/} - {\texttt{http://lwn.net/Articles/118750/}}.} alle pagine di memoria interna + {\textsf{http://lwn.net/Articles/118750/}}.} alle pagine di memoria interna che contengono i dati, per questo una volta che i dati sono presenti nella memoria del kernel tutto quello che viene fatto è creare i suddetti puntatori ed aumentare il numero di referenze; questo significa che anche con \func{tee}