OK. Last question si ma duc sa sarbatoresc si eu ca tot omul :)
Dupa ce umplu RAM-ul, cand accesez o pagina, da page fault si o pun in
swap. Retin ce drepturi ar trebui sa aiba si o trec cu PROTECTION_NONE.
Revin in functie si da al doilea page fault, fac swap in si ii dau
drepturile pe care ar trebui sa le aiba. Daca e vorba de o citire, am
deja doua page fault-uri. Evident, la scriere vor fi 3. Which is
perfectly fine, doar ca checker-ul se asteapta sa fie cate un fault per
read si cate 2 per write, indiferent unde sunt paginile - RAM sau swap
(ex. test_mapping_one_fault_per_page_read - aloca 10 pagini, RAM-ul are
4, face read pe toate, se asteapta la 10 page fault-uri, dar au avut loc
4+2x6 = 16). Cum trec de asta? :)
Multumesc si Paste fericit!
Alexandra
Cand treci o pagina in swap poti salva drepturile de acces existente
si marca pagina cu PROTECTION_NONE. Cand aduci pagina din swap,
restaurezi drepturile pe care le avea inainte. In acel moment vezi
daca este nevoie sa dai drepturi superioare.
--
Catalin
Plasarea unei pagini fizice în swap (swap out) înseamnă că pagina
virtuală aferentă este marcată ca absentă din RAM. Pentru aceasta poți
demapa respectiva pagină sau o poți marca fără drepturi de acces
(PROTECTION_NONE).
Răzvan
_______________________________________________
http://elf.cs.pub.ro/so/wiki/resurse/lista-discutii
_______________________________________________
http://elf.cs.pub.ro/so/wiki/resurse/lista-discutii
_______________________________________________
http://elf.cs.pub.ro/so/wiki/resurse/lista-discutii