Significa trovare efficienti analoghi basati su disco per le strutture di dati fondamentali basate su RAM (ad esempio, elenchi collegati, stack, code, code di priorità, ecc.)? In tal caso, la risposta potrebbe non essere utile o meno.
Non sono del tutto sicuro di quello che stai cercando di fare. Per coda, intendi una coda FIFO (first in first out) o una coda prioritaria?
Per la gestione delle code FIFO e della registrazione, è possibile esaminare i buffer delle suonerie e la rotazione dei registri.
Per la gestione dei dati di memorizzazione nella cache nella RAM per ridurre al minimo l'accesso al disco, è possibile o meno lasciare questo al sistema operativo. A meno che tu non stia sviluppando un'applicazione per Windows, potresti stare meglio leggendo e scrivendo da e verso i file in modo ingenuo, dal momento che il sistema operativo dovrebbe eseguire una lettura e scrittura nella cache abbastanza buona. Tuttavia, per quanto posso dire, Windows ha una cache di lettura/scrittura orribile (potrei sbagliarmi).
Forse guardare il sottosistema VFS in Linux e studiare http://lxr.linux.no/#linux+v2.6.31/Documentation/filesystems/vfs.txt aiuterà, poiché (penso) questa è la parte di Linux che gestisce la cache.
Non sono un esperto di code e memorizzazione nella cache, ma so alcune cose a riguardo. Se potresti fornire maggiori dettagli su ciò che stai cercando di fare, forse qualcuno può aiutarti a trovare la giusta soluzione.
fonte
2009-10-03 03:53:55
+1 per il riferimento al bel libro, non lo sapevo prima – dmeister