Salut,<br>După ce am citit enunțul temei am ajuns la două moduri în care pot realiza tema.<br><br>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. <br>
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 : <br>
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<br>2. setez flagul de on_swap și invalid fără a muta efectiv pagina pe swap.<br>
<br>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ă ?<br><br>-- <br>Dumitrache Mihai - Marian<br><a href="http://www.takemyview.com/blog">http://www.takemyview.com/blog</a><br>