2015-04-22 19:23 GMT+03:00 Andrei Dorian Duma via so <[email protected]>: > Din ce înțeleg, e vorba să pui PROT_NONE pe pagina din spațiul virtual > (memoria efectivă a procesului), adică să o readuci la starea inițială. Tu > de fapt îi păstrezi protecția anterioară în câmpul ăla din structură și o > duci în swap. > > On Wed, Apr 22, 2015 at 7:17 PM Georgiana Diana via so > <[email protected]> wrote: >> >> Salut, >> In enuntul temei 3 [1] este precizat urmatorul lucru, care nu inteleg >> exact la ce se refera: >> >> "Pentru eliberarea/evacuarea unei pagini, demapați acea pagină (pagina >> este mapată peste o “pagină” din fișerul RAM) și remapați-o la aceeași >> adresă dar ca mapare anonimă (MAP_ANONYMOUS) și fără protecție (PROT_NONE)." >> >> Din cate am inteles din restul de enunt, o pagina din memoria virtuala >> care a fost deja mapata in ram, fie ramane in memoria ram, fie este evacuata >> in swap (daca este necesar). O pagina evacuata in swap, nu isi pastreaza >> protectia anterioara evacuarii ? Exista cazuri in care o pagina poate fi >> demapata complet din ram, fara a fi trimisa in swap (daca da, cand anume) ? >> >> [1] http://ocw.cs.pub.ro/courses/so/teme/tema-3 >>
Salut, O pagină evacuată nu își păstrează protecția, nu poți accesa direct conținutul unei pagini din swap. Când vrei să accesezi o pagină care se află în swap aceasta trebuie readusă în memoria fizică (în RAM). Cât timp pagina este în swap, în spațiul virtual acea pagină are protecția PROT_NONE. O pagină mapată în RAM dar care nu a fost modificată nu este copiată în swap, din motive de eficientă. Excepție face prima evacuare. Adrian _______________________________________________ http://ocw.cs.pub.ro/courses/so/info/lista-discutii
