Originariamente inviato da
umberto1978
Innanzitutto GRAZIE per il 3ad, sono un ipercurioso e mi piacciono queste discussioni pionieristiche.
A tal proposito aggiungerei una precisazione, che mi pare d'obbligo:
Cito parzialmente quanto da te riportato "......- enable_deadline (load the deadline I/O scheduler module) --> di default abilita il NOOP I/O scheduler, che usa struttura FIFO e velocizza il merge della chiamate di standard input/output --> mi va bene abilitato poichè ottimizza le prestazioni....."
Mi sono leggermente confuso leggendo, stando almeno alle mie limitate conoscenze.
Lo scheduler NOOP è ritenuto il migliore scheduler per l'impiego con memorie allo stato solido, le cosiddette FLASH, quelle che non hanno funzionamento meccanico o comunque anche parzialmente influenzato da ridondanze o latenze cinetiche; ecco perchè è quello che da migliori prestazioni con terminali mobili. In ogni caso il NOOP utilizza la struttura FIFO, lettelarmente un criterio che si utilizza quasi in ogni aspetto della nostra esistenza anche senza che ce ne accorgiamo: il primo ad entrare è il primo ad uscire (first in first out) un po come avviene alla coda alle poste per intenderci.
Lo scheduler DEADLINE invece a differenza del cugino adotta una struttura differente: impone dei tempi entro i quali devono essere evase le queue; le queue del DEADLINE sono ordinate in base alla loro "expiration time" o data di scadenza ecco perchè il nome deadline. E' evidente che il criterio di assegnazione di tale expiration time non tiene conto necessariamente del momento di creazione della queue ma le valutazioni sono un attimo più complesse, quasi sempre ad esempio nell'impiego di tale scheduler le operazioni di lettura hanno priorità più alta rispetto a quelle di scrittura.
Se ho capito male e detto una cavolata correggimi pure