enjoy..

elwood ha scritto:Salve Andrea,
Aprofitto di questa nuova discussione per dire ciao a tutti.
Spero di non fare troppe errori in italiano ! :-).
elwood ha scritto:Se alcuni di voi vogliono fare commenti su questo nuovo sistema di memoria OS4, mi interessa.
Forza, vediamo cosa ne pensate...
elwood ha scritto:Salve Andrea,
Aprofitto di questa nuova discussione per dire ciao a tutti.
Spero di non fare troppe errori in italiano ! :-)
Se alcuni di voi vogliono fare commenti su questo nuovo sistema di memoria OS4, mi interessa.
Forza, vediamo cosa ne pensate...
elwood ha scritto:Salve Andrea,
Aprofitto di questa nuova discussione per dire ciao a tutti.
Spero di non fare troppe errori in italiano ! :-)
Se alcuni di voi vogliono fare commenti su questo nuovo sistema di memoria OS4, mi interessa.
Forza, vediamo cosa ne pensate...
afxgroup ha scritto:elwood ha scritto:Salve Andrea,
Aprofitto di questa nuova discussione per dire ciao a tutti.
Spero di non fare troppe errori in italiano ! :-)
Se alcuni di voi vogliono fare commenti su questo nuovo sistema di memoria OS4, mi interessa.
Forza, vediamo cosa ne pensate...
Ciao Elwood! Benvenuto anche qui.
Allora. se non ho capito male (e potrebbe essere, perchè no..)
Con il vecchio modo di allocare la memoria, quando veniva richiesta un'area di memoria se ne cercava una libera delle dimensioni richieste. Se non si trovava (non perchè di memoria non ce ne fosse, ma perchè era frammentata) non si riusciva a soddisfare la richiesta.
Con il nuovo metodo invece viene creato un nuovo nodo in una lista che punta ad un area di memoria (mi ricorda tanto la scuola..). QUindi il nodo sarà sempre di dimensioni fisse. Sarà l'area puntata dal nodo che cambierà dimensione. L'allocazione della memoria verrà fatta dal page allocator che allocherà le pagine di dimensione richiesta. Se quindi si dever rilasciare la memoria, verrà solo deallocato il nodo. Si avrà quindi una bassa deframmentazione della memoria.
uhm.. spero sia giusto
Nella seconda parte invece vengono mostrate delle techinche di ottimizazione dei tempi. Questo grazie ad una cache.
Dato che (per loro..) il sistema alloca solitamente sempre lo stesso tipo di oggetti (semafori, message port e così via) quando un oggetto (che è stato precedentemente inizializzato), viene deallocato diciamo che mantiene il suo stato di "allocazione e inizializzazione". quindi se è necessaria la stessa struttura, (a quanto ho capito non importano i dati in essa contenuta ma solo la dimensione) questa viene riutilizzata.
Per intenderci (sempre se ho capito bene..) se dichiaro una struttura:
struct gino
{
char peppe[10];
char gillo[20];
}
una volta che la libero, se la riutilizzo posso utilizzare la stessa area di memoria dato che le dimensioni sono le stesse.
Questo dovrebbe velocizzare di molto il sistema.
Poi ci sono alcune altre ottimizzazioni che se non ho capito male possono servire nel caso si abbiano dei campi che vengano utilizzati più spesso e quindi spostati all'inizio dell'area di memoria per velocizzare gli accessi..
Poi si parla di multiprocessore.. ma questa è un'altra storia..![]()
Speriamo di non aver detto ca**ate.. altrimenti chiedo venia..
Cià
Non ho capito molto a causa della mia ignoranza.....se l'area puntata dal nodo ha una dimensione inferiore rispetto al valore fisso del nodo cosa succede?
Il nodo punta sempre un'area che come requisito minimo deve avere le dimensioni standard del nodo?
NubeCheCorre ha scritto:Qui ci va una bella traduzione alla " Quantum Leap "
Visitano il forum: Google [Bot] e 9 ospiti