Memory Allocation in OS4

Riflessioni, eventi, curiosità

Memory Allocation in OS4

Messaggioda afxgroup » mar dic 13, 2005 11:14 pm

Elf.library.. a noi due....
The BUG Hunter.. +1..
AMIGAONE - SAM - MOANA - A1200 - A600 - A500 - C64
Avatar utente
afxgroup

Admin
 
Messaggi: 3647
Iscritto il: ven giu 11, 2004 9:49 am
Località: Taranto

Messaggioda elwood » mar dic 13, 2005 11:36 pm

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...
Filippo 'Elwood' Ferrucci
AmigaOS 4.x betatester
Amiga Translator Organisation member
ACube Systems support
Avatar utente
elwood

Maestro
 
Messaggi: 417
Iscritto il: mar dic 13, 2005 9:11 pm
Località: Lione, Francia

Messaggioda NubeCheCorre » mar dic 13, 2005 11:37 pm

Allora l' ho gia' letta su amigaworld ..

Vorrei tanto una traduzione in italiano o meglio una spiegazione.. perche' la prima parte sulla deframentazione l' ho capita bene, la seconda sugli " slab " un goccino meno.. chi e' che mi aiuta a capirlo meglio ?..

Thanx :felice:
W il Veneto :ride:
Avatar utente
NubeCheCorre

Leggenda
 
Messaggi: 10624
Iscritto il: dom set 21, 2003 9:21 pm
Località: San remo

Messaggioda m3x » mar dic 13, 2005 11:39 pm

elwood ha scritto:Salve Andrea,
Aprofitto di questa nuova discussione per dire ciao a tutti.
Spero di non fare troppe errori in italiano ! :-).

Ciao Philippe. Non ti preoccupare, il tuo italiano è perfetto :annu:
elwood ha scritto:Se alcuni di voi vogliono fare commenti su questo nuovo sistema di memoria OS4, mi interessa.
Forza, vediamo cosa ne pensate...

Vado al leggere :felice:
Avatar utente
m3x

Admin
 
Messaggi: 2250
Iscritto il: mer set 10, 2003 11:30 pm
Località: Roma

Messaggioda NubeCheCorre » mar dic 13, 2005 11:40 pm

Mitico !!!! Ciao e benvenuto !!!!

Ora si diventa internazionali qui !!! :sburla:
W il Veneto :ride:
Avatar utente
NubeCheCorre

Leggenda
 
Messaggi: 10624
Iscritto il: dom set 21, 2003 9:21 pm
Località: San remo

Messaggioda elwood » mar dic 13, 2005 11:57 pm

@nube

:ride:
be, non sono mica lontano dall'italia (ne in distanza, ne col cuore) ! :-)
Filippo 'Elwood' Ferrucci
AmigaOS 4.x betatester
Amiga Translator Organisation member
ACube Systems support
Avatar utente
elwood

Maestro
 
Messaggi: 417
Iscritto il: mar dic 13, 2005 9:11 pm
Località: Lione, Francia

Messaggioda AMIGATV » mer dic 14, 2005 12:02 am

Ciao e benvenuto :ammicca:

Ho visto la news per me serve una traduzione totale :ride:
- Amiga 1200 commodore - Hardital: TQM68030 50mhz 68882 16 mb - wifi - hd sd 4 gb wb 3.1

- Commodore 64c + floppy

- Commodore 64 prima versione non funzionante :(

- Sistema Aros - Pentium 4 2.4 ghz - ati 9600 xt 128mb - 768 ddr mb - hd 40 gb - Icaros desktop
Avatar utente
AMIGATV

Staff
 
Messaggi: 6554
Iscritto il: ven mag 14, 2004 8:46 pm
Località: Treviso

Messaggioda Lecta » mer dic 14, 2005 12:36 am

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 su IKSNet!
Saluti,
Stefano Guidetti
AmigaOS 4 Translator & Betatester

Qualunquemente...
Avatar utente
Lecta

Eroe
 
Messaggi: 1145
Iscritto il: dom giu 08, 2003 3:55 pm
Località: Reggio Emilia (o giù di lì)

Messaggioda afxgroup » mer dic 14, 2005 12:54 am

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.. :riflette: ). 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.. :sburla: ) 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.. :ahah:

Speriamo di non aver detto ca**ate.. altrimenti chiedo venia..

Cià
Elf.library.. a noi due....
The BUG Hunter.. +1..
AMIGAONE - SAM - MOANA - A1200 - A600 - A500 - C64
Avatar utente
afxgroup

Admin
 
Messaggi: 3647
Iscritto il: ven giu 11, 2004 9:49 am
Località: Taranto

Messaggioda ikir » mer dic 14, 2005 12:55 am

Ciao Elwood! E' un onore averti qui!

Vado a leggere :-)
Avatar utente
ikir

Admin
 
Messaggi: 10202
Iscritto il: mer gen 08, 2003 7:33 pm
Località: SYS:Prefs/

Messaggioda NubeCheCorre » mer dic 14, 2005 12:59 am

Qui ci va una bella traduzione alla " Quantum Leap " :ride:
W il Veneto :ride:
Avatar utente
NubeCheCorre

Leggenda
 
Messaggi: 10624
Iscritto il: dom set 21, 2003 9:21 pm
Località: San remo

Messaggioda Flipper » mer dic 14, 2005 1:28 am

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.. :riflette: ). 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.. :sburla: ) 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.. :ahah:

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?

Il resto mi è chiaro grazie all'esempio.
Flipper

Veterano
 
Messaggi: 150
Iscritto il: ven nov 19, 2004 6:03 pm

Messaggioda afxgroup » mer dic 14, 2005 1:34 am

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?

No. il nodo principale ha le dimensioni fisse, ma l'area allocata dal page allocator non ha le dimensioni fisse ma quelle richieste. Prova a guardare l'immagine a pagina 2. La prima colonna contiene degli "slabs" che riempiono tutta la pagina. La seconda coniene un'area di memoria che non occupa tutta la pagina.

Il nodo punta sempre un'area che come requisito minimo deve avere le dimensioni standard del nodo?

Questa domanda non mi è chiara.. sarà l'orario.. :riflette:
Elf.library.. a noi due....
The BUG Hunter.. +1..
AMIGAONE - SAM - MOANA - A1200 - A600 - A500 - C64
Avatar utente
afxgroup

Admin
 
Messaggi: 3647
Iscritto il: ven giu 11, 2004 9:49 am
Località: Taranto

Messaggioda samo79 » mer dic 14, 2005 3:40 am

NubeCheCorre ha scritto:Qui ci va una bella traduzione alla " Quantum Leap " :ride:


Arriverà quanto prima ...

P.S.
Benvenuto Elwood :felice:
Immagine

Moderatore sezioni Amiga/AmigaOne su
TGMOnline

WHEN IT'S DONE Immagine

Le mele a volte possono essere devastate dal colpo feroce di una tempesta, ma il tenero fascio del sole potrà sempre far sviluppare dei nuovi frutti

Sam440ep Flex 800 Mhz - 1 GB DDR Ram - Radeon 9250 - AmigaOS 4.1
AmigaOne XE G3 800 Mhz - 640 MB Ram - Radeon 9200 SE - AmigaOS 4.1
Avatar utente
samo79

Staff
 
Messaggi: 14962
Iscritto il: ven gen 10, 2003 5:09 am
Località: Perugia

Messaggioda elwood » mer dic 14, 2005 10:56 am

Grazie a tutti per l'accoglienza.

Questo nuovo sistema è usato in Solaris e nei vari Linux (forse un po modificato) dunque pare buono.
Quel che mi manca è di avere alcuni dati per paragonare la differenza di velocità tra i due sistemi.

Andrea, la tua spiegazione mi sembra buona.

Ho trovato altri dettagli qui : http://scuola.linux.it/docs/linuxmagazine/rubini_48.html
Filippo 'Elwood' Ferrucci
AmigaOS 4.x betatester
Amiga Translator Organisation member
ACube Systems support
Avatar utente
elwood

Maestro
 
Messaggi: 417
Iscritto il: mar dic 13, 2005 9:11 pm
Località: Lione, Francia

Prossimo

Torna a Amiga in generale

Chi c’è in linea

Visitano il forum: Nessuno e 8 ospiti

cron