[so] revenire -> Dimensiune pagina
Octavian PURDILA
so@atlantis.cs.pub.ro
Sun, 11 Jan 2004 16:05:38 +0200
Quoting Andrei Hagiescu <andrei.hagiescu@mymail.ro>:
> Plecand de la urmatoarea observatie din SDK:
> A mapped file and a file accessed by means of the input and output (I/O)
> functions ( ReadFile and WriteFile) are not necessarily coherent
>
> inseamna ca mecanismul de sincronizare a zonelor de memorie mapate din
> fisiere nu asigura o updatare la fiecare write pe pagina mapata ci la
> momente de timp arbitrare alese de sistemul de operare.
>
> Sincronizarea "manuala" pe care suntem obligati sa o asiguram noi intre
> memoria virtuala si memoria fizica datorita granularitatii de alocare a
> Windows-ului putem s-o facem in mai multe moduri:
> - la fiecare scriere prindem un fault si modificam zona din fisier
> corespunzatoare (time consuming)
> - la fiecare scriere prindem un fault si modificam o zona de memorie in
> care am mapat fisierul de memorie fizica continuu (mai putin time consuming
> dar parca tot nu e eficient sa ai un fault de pagina la fiecare write)
> - alocam paginile de memorie virtuala corespunzatoare celor din memoria
> fizica independent de orice fisier si "din cand in cand" le sincronizam cu
> fisierul de memorie fizica; in acest caz sincronizarea s-ar putea face
> arbitrar si ducand procedeul la limita, putem face sincronizare doar cand
> a) mutam zona de memorie fizica in swap
> b) terminam aplicatia
>
> Care varianta este mai buna?
>
>
>
In contextul temei, atat a) cat si b) sunt ok. Daca se doreste insa extinderea
temei astfel incat sa suporte mai multe spatii de adresa virtuale, a) este
necesar.
In plus, corectarea temei o sa fie mai usoara daca folositi a). Asa ca
folositi a).
tavi
-------------------------------------------------
This mail sent through IMP: http://horde.org/imp/