-Come accennato l'interfaccia di \func{select} è una estensione creata nello
-sviluppo di BSD; anche System V ha introdotto una sua interfaccia per gestire
-l'\textit{I/O multiplexing}, basata sulla funzione \funcd{poll},\footnote{la
- funzione è prevista dallo standard XPG4, ed è stata introdotta in Linux come
- system call a partire dal kernel 2.1.23 e dalle \acr{libc} 5.4.28.} il cui
-prototipo è:
+Uno dei problemi che si presentano con l'uso di \func{select} è che il suo
+comportamento dipende dal valore del file descriptor che si vuole tenere sotto
+controllo. Infatti il kernel riceve con \param{n} un valore massimo per tale
+valore, e per capire quali sono i file descriptor da tenere sotto controllo
+dovrà effettuare una scansione su tutto l'intervallo, che può anche essere
+anche molto ampio anche se i file descriptor sono solo poche unità; tutto ciò
+ha ovviamente delle conseguenze ampiamente negative per le prestazioni.
+
+Inoltre c'è anche il problema che il numero massimo dei file che si possono
+tenere sotto controllo, la funzione è nata quando il kernel consentiva un
+numero massimo di 1024 file descriptor per processo, adesso che il numero può
+essere arbitario si viene a creare una dipendenza del tutto artificiale dalle
+dimensioni della struttura \type{fd\_set}, che può necessitare di essere
+estesa, con ulteriori perdite di prestazioni.
+Per questo System V, invece di utilizzare l'interfaccia di \func{select}, che
+è una estensione creata nello sviluppo di BSD, ha introdotto una sua
+interfaccia per gestire l'\textit{I/O multiplexing}, basata sulla funzione
+\funcd{poll},\footnote{la funzione è prevista dallo standard XPG4, ed è stata
+ introdotta in Linux come system call a partire dal kernel 2.1.23 e dalle
+ \acr{libc} 5.4.28.} il cui prototipo è: