[so] Tema5 intebari
Razvan Deaconescu
razvand at cs.pub.ro
Wed Jan 3 12:35:21 EET 2007
Dragusin Bogdan wrote:
> Scuze daca insist dar tot nu inteleg :(.
Nu este nici o problema. La urma urmei, asta e rostul listei de discutii :-)
> Cum ar trebui sa treaca tema
> testul 4 in care se verifica in acelasi mod sincronizarea dintre swap si
> ram prin check_ram_poison (rand_pos, 5, 3); si sa treaca si testul 3 la
> care aceasta modificare nu trebuie sa se vada:(
> Practic la testul 4 din cate inteleg se asteapta ca daca in swap a fost
> scris poison swap sa se scrie si in ram tot poison swap...
Cum arata cele doua teste:
la testul 4:
poison_swap (8);
for (i = 0; i < 8; i++) {
poison_swap (8);
_read (i, NO_CHECK, rand_pos);
_read (i, NO_CHECK, rand_pos + 4);
_read (i, NO_CHECK, rand_pos + 8);
}
ram_sync ();
check_ram_poison (rand_pos, 5, 3);
la testul 3:
for (i = 0; i < 3; i++) {
_read (i, PAGE_FAULT, rand_pos);
_read (i, NO_PAGE_FAULT, rand_pos + 4);
}
ram_sync ();
check_ram0 (3);
Deosebirea este urmatoarea: la testul 3, la inceputul inceputului, se
realizeaza asocierea intre paginile virtuale si paginile fizice
(simulate prin fisierul RAM). In prima instanta paginile se vor asocia
fara a exista vreo legatura cu swap-ul. Deoarece se realizeaza numai
citiri, o pagina nu va fi niciodata swapped (nu este nevoie ... e un pic
fortat ... dar pentru usurinta in implementare/testare se considera ca o
pagina care este read-only nu va fi niciodata swapped).
Testul nu are relevanta practica ... daca te gandesti mai bine, se
citesc informatii pe care nu le-a scris nimeni ... e doar metoda de
testare, nu are o logica in spate.
In partea cealalta, la testul 4, paginile sunt deja swapped (au parcurs
o serie de drumuri swap-RAM, RAM-swap) si in momentul in care se
realizeaza o citire, daca pagina nu este prezenta in memorie ea va fi
copiata din swap.
La inceput nici o pagina nu rezida in swap. Este copiata acolo numai
daca a fost modificata si daca trebuie inlocuita cu o alta pagina. La
testul 3 paginile nu rezida in swap si nici nu sunt copiate vreodata
acolo (sunt numai apeluri read-only).
Va trebui, cu alte cuvinte, sa retii cand o pagina este swapped si cand
nu este ca sa faci deosebirea intre aceste cazuri.
Imi cer scuze pentru articifiul de la testul 3 ... este doar un test
care nu are o situatie verosimila in spate ... doar testeaza
functionlitatea temei (la testul 3 mi-a fost cel mai usor sa testez ca o
pagina read-only nu este swapped).
Daca mai ai intrebari, nu ezita sa le postezi.
Razvan
More information about the so
mailing list