[so] [SO] [Tema3] [Linux] Nelămurire implementare
mmdumi
mmdumi at gmail.com
Mon Apr 20 20:28:52 EEST 2009
Salut,
După ce am citit enunțul temei am ajuns la două moduri în care pot realiza
tema.
Conținutul paginilor vor fi stocate în zona de memorie mapata din spatiul de
adresa al procesului. Fiecare pagină din acest spațiu va fi protejata cu
prot_none / read / write, astfel încat cu ajutorul seg_faulturilor pot sa
simulez page-faulturile din memoria virtuala. În acest mod voi putea
modifica proprietățile paginilor: on_ram, on_swap, valid/invalid și voi
respecta starile prin care trece o pagina.
Să presupunem ca o pagină este accesată pentru scriere dar este invalidă.
Voi primi seg-fault. Voi da drepturi de scriere prot_write, dar voi verifica
și dacă am loc în memoria ram. Presupun că ramul este plin. Aleg pagina cu
numărul x pentru a fi mutată pe swap. În acest moment am 2 posibilități :
1. mut efectiv (cu memcpy sau altceva) pagina x pe swap (memoria ce
reprezintă fișierul swap) (dacă nu a fost deja mutată pe swap, luând în
considerare și bitul dirty) și setez flagul de on_swap și invalid
2. setez flagul de on_swap și invalid fără a muta efectiv pagina pe swap.
Pentru cazul 2, la ram_sync voi copia paginile in fisierele ram / swap
folosindu-mă de flagurile on_ram / on_swap. O astfel de implementare este
considerată incorectă ?
--
Dumitrache Mihai - Marian
http://www.takemyview.com/blog
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://cursuri.cs.pub.ro/pipermail/so/attachments/20090420/c43b531e/attachment.htm>
More information about the so
mailing list