[so] tema 3 win - MapViewOfFileEx

Razvan Deaconescu razvan.deaconescu at cs.pub.ro
Mon May 11 22:10:24 EEST 2009


On Mon, 2009-05-11 at 21:57 +0300, Alexandru Juncu wrote:
> 2009/5/11 Alexandru Juncu <alexandrujuncu at gmail.com>:
> > 2009/5/11 Andrei Bucur <andrei.bucur at gmail.com>:
> >> Spre deosebire de Linux, in Windows nu mai merge sa dai VirtualAlloc la tot
> >> spatiul de memorie virtuala, intr-o bucata continua. Fiecare pagina trebuie
> >> rezervata individual.
> >>
> >> 2009/5/11 Alexandru Juncu <alexandrujuncu at gmail.com>
> >>>
> >>> am aceeasi problema...
> >>> fac VirtuallAlloc pe memoria virtuala, apoi fac VirtualFree pe o
> >>> pagina din memoria virtuala si dupa, pe pagina respectiva, ii dau
> >>> MapViewOfFileEx pe fisierul RAM si pica...
> >>> pana la urma asa trebuie sa facem sau cum?
> >>> Am vazut ca in exemplu lui RD despre acest subiect a mers, dar in tester
> >>> nu...
> >>> Cum ramane?
> >
> > Se punctează dacă Memoria Virtuală, RAMul şi Swap-ul sunt mapate în
> > zone diferite de memorie şi singurele interacţiuni au loc copieri
> > memcpy  (la swapin/out pentru RAM<->SWAP şi la RAMSync pentru
> > MV<->RAM) ? Asta cu condiţia că avem structuri în spate care fac
> > controlul protecţiei MV şi locaţiei fiecărei pagini...
> >
> P.S.  toate testele au pass...singura diferenţă faţă de Linux este că
> nu am mai mapat aceleaşi zone de memorie şi pt MV şi pt RAM...

E OK. Singura observatie este ca in RAMSync sa faci copieri/actualizari
doar pentru paginile dirty.

Razvan



More information about the so mailing list