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>