[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