Oggi vi presento un piccolo simulatore della gestione della memoria di Linux... il buddy system.
Si tratta di un algoritmo molto accattivante per l'allocazione e la deallocazione... permette un'allocazione veloce ed una deallocazione altrettanto veloce (a dispetto di altri algoritmi di allocazione come il BestFit QuickFit o WorstFit), il caso peggiore, inoltre, aumenta di poco il "peso" del caso medio.
Questo sistema è eccellente, si dice infatti che l'uptime così lungo di Linux (2/3 anni) sia dovuto anche a questo sistema!
L'algoritmo dell'allocazione è identico a quello usato dal quickfit ma questo sistema permette una deallocazione veloce in quanto ogni Hole può fondersi solo col proprio buddy (compagno), se è libero.
L'indirizzo del buddy può essere calcolato in O(1) e con un bit che indica se è libero, sempre in O(1), si può capire se la fusione è possibile!
Dal simulatore si può capire molto bene il suo funzionamento.. al solito ecco il link!
Salut
Dario
Inviato da: dariospy
il 03/04/2009 alle 15:33
Inviato da: Giorgio
il 03/04/2009 alle 10:42
Inviato da: Smò
il 26/03/2009 alle 23:26