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>