linux user group brescia

immagine del castello

Archivio della mailing list

Database in memoria RAM

andrea gelmini andrea.gelmini a lugbs.linux.it
Ven 31 Ago 2001 15:29:24 UTC
On Thu, Aug 30, 2001 at 02:42:28PM +0200, Lossani Simone Pietro, IT wrote:
> La via shmfs è interessante, ma non sono riuscito a trovare sufficiente
> documentazione (chiara per me). 
guarda nella documentazione del kernel. lo usi come un qualsiasi altro
filesystem.

> Ho provato la seguente via alternativa:
> Ho configurato lilo.cfg in modo da riservare un pò di RAM da usare come
> memoria condivisa:
> append="mem=180m"  //il mio PC ha 192Mbyte di RAM
sei fuori strada, completamente. la memoria condivisa non c'entra con
la fase di boot. cosi` hai solo detto al kernel di non usare piu` di
180 mega di ram...

> Poi ho mappato della memoria condivisa con il seguente codice C:
> 
> #define ADDRESS (180*0x100000);
> 
> f=open("/dev/mem", O_RDWR);
> mem_pointer=(char *) mmap(0, 400, PROT_READ | PROT_WRITE, MAP_FILE |
> MAP_SHARED, f, ADDRESS);
> 
> In tal modo posso far riferimento ai 400 byte di RAM con chiamate del tipo
> mem_pointer[x].
uhm...

> scopo dell'applicazione è quello di avere un'area di memoria accedibile
> velocemente da più processi contemporaneamente. Uno dei processi,
> eventualmente, può salvare su HD alcuni dei dati di particolare interesse
no, no. quello che vuoi fare non lo ottieni cosi`. se vuoi della
documentazione a riguardo posso passartela, in formato cartaceo, ma cio`
implica che tu sia di bs.

> lungo l'array mem_pointer. I nomi delle variabili devono essere visibili a
> tutti i processi. Forse shmfs da questa possibilità?.
stai confondendo la gestione della memoria del kernel e dei processi con il
filesystem. sono cose differenti. mmap puo` essere una delle soluzioni, ma
ti consiglio un buon manuale di programmazione su unix per capire il tutto.
inizialmente, giusto per schiarirti le idee, puoi guardare nella
documentazione della libc.

> So che la nota che segue le mie mail è molto fastidiosa e priva di senso in
> una ML, ma viene aggiunta di default. Quindi chiedo se sai come sostituire
> l'attuale indirizzo e_mail con cui sono registrato alla ML con uno nuovo che
> non prevede l'aggiunta di antipatiche code :simolossani a libero.it.

ok, questa richiesta la giriamo direttamente a giuzzi che provvedera`
nell'immediato (io non ho accesso diretto al db degli iscritti).

ciao,
andrea



Maggiori informazioni sulla lista Lug