[so] Tema 2 - Zona partajata de memorie

Lucian Adrian Grijincu lucian.grijincu at gmail.com
Mon Apr 14 20:42:33 EEST 2008


2008/4/14 George Dita <george.dita at gmail.com>:
> Am o problema cu folosirea unei zone partajate de memorie. Eu retin arborele
> binar intr-o structura de genul: valoare, copil stanga, copil dreapta; unde
> copil este pointer catre acelas tip de structura. Am realizat un alocator de
> memorie pentru a imi da mereu adrese din memoria partajata. Problema
> intampinata este la accesarea zonei de memorie din client. Adresele din
> server meu sunt relative chiar daca folosesc memorie partajata? Si daca da
> asta inseamna ca trebuie sa folosesc offesturi fata de adresa shared_memory
> pentru memorarea copiilor?

Adresele la care e mapată zona de memorie partajată sunt independente;
tot pe ce te poți baza e că ai același conținut și că ce se alfă la o
anumită distanță față de începutul zonei partajate în client se află
la aceeași distanță și în server.

Sunt mai multe moduri în care poți face reprezentarea:
a) ții în zona partajată offseți;
b) ții adrese absolute în server, dar în clienți scazi adresa la care
e mapată zona în server și aduni adresa la care e mapată în acel
client;
c) nu ții pointeri către noduri, ci numere de ordine ale nodurilor
față de început (e o variantă a primei metode în care împarți offseții
la sizeof(nod).
d) ... ?

-- 
Lucian


More information about the so mailing list