[so] Dimensiune pagina

Octavian Purdila so@atlantis.cs.pub.ro
Fri, 09 Jan 2004 15:31:39 +0200


On Fri, 9 Jan 2004 04:04:10 -0800 (PST), iana ionel cristian 
<iana_ionelcristian@yahoo.com> wrote:

>  rezerv cu virtual alloc,
>  cand am nevoie de o zona, o eliberez, si mapez la
>

Poti sa faci decommit pentru eliberare si nu release.

>  adresa respectiva un fisier. cred ca lucrul acesta
> se incadreaza in enuntul temei.
>
> daca as folosi commit pentru a aloca o pagina, atunci,
> acea pagina ar exista in RAM, nu intr-un fisier,

Alocarea paginilor se face pentru memoria virtuala deci in
spatiul de adresa al procesului, adica da in RAM.

> oricine ar putea scrie/citi la acea adresa fara nici o

Nu daca schimbi protectia paginii.

> problema, nu ar mai fi memorie mapata, ci o zona de
> memorie alocata in mod obisnuit
>

Toata memoria pe care o vad procesele este in cele din urma
memorie mapata.

In cazul nostru maparea paginilor fizice (fisier) in memoria virtuala
(memorie din spatiul de adresa al procesului) nu trebuie sa o faci
neaparat prin maparea unui fisier (bucati din fisier) in memorie,
desi lucrul asta e cel mai simplu.

> chiar daca as mapa apoi fisierul,peste zona angajata,
> rezultatul ar fii ca ocup memorie si in ram si pe
> hard.
>

La orice mapare de fisiere in spatiul de adresa ocupi memorie
atat in RAM cat si pe disc.

> nu vad o alta rezolvare a temei decat folosind
> mapviewoffile, iar pentru a folosi aceasta functie
> adresa tb sa fie pe 64K
>

Eh, se poate. Eu zic sa te mai gandesti un pic, si daca tot nu vezi
nici o solutie mai da un mail pe lista.

tavi