[so] [Tema3][Linux] Test - test_clean_page_is_not_swapped_out
Razvan Deaconescu
razvan.deaconescu at cs.pub.ro
Sat Apr 23 12:24:37 EEST 2011
On 04/23/2011 11:49 AM, Alexandra Sava wrote:
> Salut!
>
> Nu imi dau seama cum ar trebui sa se comporte in urmatoarea situatie
> (aparuta in testul indicat la Subject):
> * pagina X este in RAM, nu este marcata dirty si a mai fost pusa pe swap
> * RAM-ul are dimensiunea de o pagina
> * pagina Y este in SWAP si este accesata (se produce astfel un
> pagefault) si ar trebui adusa in RAM
>
> Din comentariile testului nu imi este tocmai clar cum ar trebui sa procedez:
> * `/* fault second page (read_only) -- first page should not go
> to swap*/` (=> frist page e in RAM si nu se muta in SWAP)
Da. Este în RAM, dar nu se _copiază_ în swap. Nu are flag-ul dirty activ
deci _nu este nevoie_ să se copieze. Ceea ce se găsește în swap este
identic cu ceea ce ce găsește în RAM și nu este nevoie să se copieze. Am
adăugat o clarificare în enunț[1] (bullet-ul aferent flag-ului "dirty").
În urma page-fault-ului rezultă o operație swap in (se copiază pagina
doi din swap în RAM) fără a rezulta o operație swap out efectivă (nu se
copiază pagina unu din RAM în swap) datorită absenței flag-ului dirty.
> * `/* fault first page (read_only) -- second page should not go
> to swap*/` => second page e in RAM. Cum a ajuns acolo daca first page
> era in RAM si nu ar fi trebuit sa ajunga in SWAP?
Vezi mai sus.
Răzvan
[1] http://elf.cs.pub.ro/so/wiki/teme/tema-3#enunt
More information about the so
mailing list