[so] Tema5 intebari

Razvan Deaconescu razvand at cs.pub.ro
Thu Jan 4 18:18:41 EET 2007


Dragusin Bogdan wrote:
> Pasul 2 este reprezentat de urmatoarea portiune de cod:
> "
> for (i = 5; i < 8; i++) {
>         _read (i, PAGE_FAULT, rand_pos);
>         _read (i, NO_PAGE_FAULT, rand_pos + 4);
>     }
> 
>     for (i = 0; i < 8; i++) {
>         write_read (i, NO_CHECK, rand_pos);
>         read_write (i, NO_CHECK, rand_pos + 4);
>         write_read (i, NO_CHECK, rand_pos + 8);
>     }
> 
>     ram_sync ();
>     check_swap (rand_pos, 8, 5, 3, 0);
> "

quote:
"In ram sunt 5 pagini fizice. Cum ar trebui sa arate ram-ul respectiv 
swap-ul dupa ram_sync? In ram ar trebui sa fie paginile 6 7 8 4 5 iar in 
swap paginile 1 2 3?"

Nu e neaparat ca in RAM sa se afle paginile 6, 7, 8, 4, 5 ... depinde 
cum faci inlocuirea ... eu am facut spre exemplu random ... nu este 
relevant.

quote:
"Verificarea ram/swap trece chiar daca se pun in ram doar 1 2 3 4 5 si 
in swap nu se pune nici o pagina dar pentru pasul urmator cand se 
verifica modificarea memoriei swap practic ar trebui sa ne bazam ca au 
existat paginile modificate la un moment dat in ram nu?"

Ca si remarca, o fraza pe patru randuri e destul de greu de "destelenit" 
  ... incearca sa folosesti propozitii mai scurte :-)

La pasul 4 se verifica urmatoarele:
- orice pagina din RAM are un continut specific la pozitia rand_pos (nu 
este SWAP_POISON sau RAM_POISON - operatiile read_write au functionat)
- in swap exista cel putin o pagina suprascrisa cu o pagina din RAM (nu 
mai exista la pozitia rand_pos valoarea SWAP_POISON initiala); depinzand 
de algoritmul implementat, ai putea foarte bine sa inlocuiesti permanent 
aceeasi pagina virtuala (in swap) cand aceasta nu se afla in RAM; cu 
alte cuvinte, oricate astfel de page faulturi ar aparea, e perfect 
posibil (depinzand de algoritm) sa fie alterata o singura pagina din 
swap ... testul se vrea algorithm independent

Sper ca e cat de cat clar :-)
Razvan


More information about the so mailing list