[so] Tema5 intebari
Dragusin Bogdan
dragusinb at yahoo.com
Thu Jan 4 17:32:35 EET 2007
As mai avea si eu o intrebare in legatura cu testul 4 :). Am vazut ca la testul 4, pasul 2 se fac modificari asupra tuturor celor 8 pagini din memoria virtuala. 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?
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?
Razvan Deaconescu <razvand at cs.pub.ro> wrote: 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
_______________________________________________
so mailing list
so at cursuri.cs.pub.ro
http://cursuri.cs.pub.ro/cgi-bin/mailman/listinfo/so
__________________________________________________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://cursuri.cs.pub.ro/pipermail/so/attachments/20070104/740a786a/attachment.htm
More information about the so
mailing list