[so] Intrebare Tema 5

Maximilian Machedon maximilian.machedon at gmail.com
Thu Feb 2 20:23:44 EET 2006


> Aici nu cred ca ai inteles unde am eu nelamurirea. Problema este ce
> fac atunci cand TOATE paginile din tabel sunt in working set...de unde
> aleg acea pagina curata de care zice algoritmul in tanenbaum...dintre
> cele cu R=0 sau R=1 sau din ambele??
> Sau fac ceva de genul:
>  daca am pagina curata cu R=0 atunci evacueaza
> altfel daca am pagina curata cu R=1 atunci evacueaza
> altfel evacueaza pagina curenta

        Pai in carte zice "the simplest thing to do is claim any clean
page". Daca nu exista, pagina curenta. Daca vrei sa faci mai bine de atat
poti cauta o pagina care sa fie si veche, nu te impiedica nimeni.


> Esti sigur?? Ma gandesc la urmatorul scenariu..Nu se face optimizarea
> aceea cu pagina cea mai veche...(care oricum la complexitatea
> algoritmului ne costa foarte putin zic eu) si se evacueaza pagina
> curenta (sa zicem ca toate paginile erau in working set, nu s-a gasit
> nici o alta pagina curata). Se castiga ceva timp aici...dar ce se
> intampla cand acea pagina evacuata, fiind una aleatoare, murdara, si
> in working set-ul procesului, va declansa un page fault...e 90%
> probabil sa se intample asa ceva..Atunci gandeste-te la timpul pierdut
> cu aducerea acestei pagini din swap in memoria fizica. Timpul de acces
> la hard va depasi cu foarte mult timpul pe care l-ai fi cheltuit cu
> determinarea celei mai vechi pagini.
> Deci, dupa parerea mea, aceasta gandire "dupa mine potopul" doar ca sa
> scap mai repede de un page fault face mari daune in viitor...


        Chestiile astea depind destul de mult de multi factori. Daca ar fi
un OS adevarat ar trebui implementate mai multe variante si vazut care e
mai buna. Pentru tema noastra cel mai probabil e mai avantajos (rapid) sa
cauti o pagina veche. Dar un OS adevarat trebuie sa tina cont de mult mai
multe lucruri: cache-ul procesorului, TLB, marimea fisierului swap, modul
cum interactioneaza mai multe thread-uri ale unui proces, in sistemele
multiprocesor relatia intre TLB-urile procesoarelor, marimea curenta a
working set-ului (care e dinamica de obicei, cel putin de Windows) etc. Deci
lucrurile se complica si alegerea buna nu mai e asa de evidenta.



More information about the so mailing list