Pasul 2 este reprezentat de urmatoarea portiune de cod:<br>"<br>for (i = 5; i &lt; 8; i++) {<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; _read (i, PAGE_FAULT, rand_pos);<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; _read (i, NO_PAGE_FAULT, rand_pos + 4);<br>&nbsp;&nbsp;&nbsp; }<br><br>&nbsp;&nbsp;&nbsp; for (i = 0; i &lt; 8; i++) {<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; write_read (i, NO_CHECK, rand_pos);<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; read_write (i, NO_CHECK, rand_pos + 4);<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; write_read (i, NO_CHECK, rand_pos + 8);<br>&nbsp;&nbsp;&nbsp; }<br><br>&nbsp;&nbsp;&nbsp; ram_sync ();<br>&nbsp;&nbsp;&nbsp; check_swap (rand_pos, 8, 5, 3, 0);<br>"<br>Practic am numit un "pas" o portiune intre 2 ram_sync-uri :P<br><br><b><i>Dragusin Bogdan &lt;dragusinb@yahoo.com&gt;</i></b> wrote:<blockquote class="replbq" style="border-left: 2px solid rgb(16, 16, 255); margin-left: 5px; padding-left: 5px;"> 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?<br><br>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?<br><br><b><i>Razvan Deaconescu &lt;razvand@cs.pub.ro&gt;</i></b> wrote:<blockquote class="replbq" style="border-left: 2px solid rgb(16, 16, 255); margin-left: 5px; padding-left: 5px;"> Dragusin Bogdan wrote:<br>&gt; Scuze daca insist dar tot nu inteleg :(.<br><br>Nu este nici o problema. La urma urmei, asta e rostul listei de discutii :-)<br><br>&gt; Cum ar trebui sa treaca tema <br>&gt;  testul 4 in care se verifica in acelasi mod
 sincronizarea dintre swap si <br>&gt; ram prin check_ram_poison (rand_pos, 5, 3); si sa treaca si testul 3 la <br>&gt; care aceasta modificare nu trebuie sa se vada:(<br>&gt;  Practic la testul 4 din cate inteleg se asteapta ca daca in swap a fost <br>&gt; scris poison swap sa se scrie si in ram tot poison swap...<br><br>Cum arata cele doua teste:<br><br>la testul 4:<br><br>         poison_swap (8);<br>         for (i = 0; i &lt; 8; i++) {<br>                 poison_swap (8);<br>                 _read (i, NO_CHECK, rand_pos);<br>                 _read (i, NO_CHECK, rand_pos + 4);<br>                 _read (i, NO_CHECK, rand_pos + 8);<br>         }<br><br>         ram_sync ();<br>         check_ram_poison (rand_pos, 5, 3);<br><br><br>la testul 3:<br><br>         for (i = 0; i &lt; 3; i++) {<br>                 _read (i, PAGE_FAULT, rand_pos);<br>                 _read (i, NO_PAGE_FAULT, rand_pos + 4);<br>         }<br><br>          ram_sync ();<br>         check_ram0
 (3);<br><br><br>Deosebirea este urmatoarea: la testul 3, la inceputul inceputului, se <br>realizeaza asocierea intre paginile virtuale si paginile fizice <br>(simulate prin fisierul RAM). In prima instanta paginile se vor asocia <br>fara a exista vreo legatura cu swap-ul. Deoarece se realizeaza numai <br>citiri, o pagina nu va fi niciodata swapped (nu este nevoie ... e un pic <br>fortat ... dar pentru usurinta in implementare/testare se considera ca o <br>pagina care este read-only nu va fi niciodata swapped).<br><br>Testul nu are relevanta practica ... daca te gandesti mai bine, se <br>citesc informatii pe care nu le-a scris nimeni ... e doar metoda de <br>testare, nu are o logica in spate.<br><br>In partea cealalta, la testul 4, paginile sunt deja swapped (au parcurs <br>o serie de drumuri swap-RAM, RAM-swap) si in momentul in care se <br>realizeaza o citire, daca pagina nu este prezenta in memorie ea va fi <br>copiata din  swap.<br><br>La inceput nici o pagina nu rezida
 in swap. Este copiata acolo numai <br>daca a fost modificata si daca trebuie inlocuita cu o alta pagina. La <br>testul 3 paginile nu rezida in swap si nici nu sunt copiate vreodata <br>acolo (sunt numai apeluri read-only).<br><br>Va trebui, cu alte cuvinte, sa retii cand o pagina este swapped si cand <br>nu este ca sa faci deosebirea intre aceste cazuri.<br><br>Imi cer scuze pentru articifiul de la testul 3 ... este doar un test <br>care nu are o situatie verosimila in spate ... doar testeaza <br>functionlitatea temei (la testul 3 mi-a fost cel mai usor sa testez ca o <br>pagina read-only nu este swapped).<br><br>Daca mai ai intrebari, nu ezita sa le postezi.<br><br>Razvan<br>_______________________________________________<br>so mailing list<br>so@cursuri.cs.pub.ro<br>http://cursuri.cs.pub.ro/cgi-bin/mailman/listinfo/so<br></blockquote><br><div> __________________________________________________<br>Do You Yahoo!?<br>Tired  of spam?  Yahoo! Mail has the best spam protection
 around <br>http://mail.yahoo.com _______________________________________________<br>so mailing list<br>so@cursuri.cs.pub.ro<br>http://cursuri.cs.pub.ro/cgi-bin/mailman/listinfo/so<br></div></blockquote><br><p>&#32;__________________________________________________<br>Do You Yahoo!?<br>Tired of spam?  Yahoo! Mail has the best spam protection around <br>http://mail.yahoo.com