[so] tema5 - corectare Linux -> (mica) obiectie

Ioana Cutcutache so@cursuri.cs.pub.ro
Tue, 15 Feb 2005 16:18:03 +0200


Buna,
Intr-adevar in cazul tau am scapat ceva, si anume ca actualizarea lui time of 
last use la resetarea lui R in timpul cautarii se face la valoarea lui 
clk+1si intr-adevar nu ar mai fi necesara prinderea unui urmator acces pana 
la semnalul de ceas.

Insa, in general daca time of last use este actualizat folosind timpul curent, 
este incorect sa nu se modifice si protectia la resetarea bitului R pentru ca 
se pierd accese si time of last use nu o sa aiba valoarea corecta.

Este posibil sa mai imi fi scapat cate ceva, de aceea daca vi se pare ca ceva 
nu este ok, astept mailuri in care sa-mi spuneti ce vi se pare incorect si 
justificarea (eventual indicand unde in sursa faceti ce am zis eu ca 
lipseste).



On Tuesday 15 February 2005 15:38, Mugurel Ionut Andreica wrote:
>     Am o mica obiectie la corectarea temei 5 pe Linux.
> Am fost depunctat cu 0.3 din urmatorul motiv:
>
> "
> -0.3
> La resetarea bitilor R in cursul cautarii unei pagini
> la wsclock nu se schimba protectia
> paginii la PROT_NONE
> "
>
>      Probabil ca ar trebui sa ii trimit acest mail
> doar Ioanei (ea a corectat tema, nu?), dar l-am trimis
> pe lista deoarece am vazut ca au fost mai multi
> depunctati din acest motiv..
>
>      Vreau sa motivez de ce nu este nevoie sa schimb
> si protectia memoriei in timp ce restez bitii R in
> cadrul algoritmului WSCLOCK.
>
>      Evident, motivul pt care ar trebui sa schimb si
> protectia ar fi sa prind si alte accese la memorie
> pana la apelarea functiei de ceas, care reseteaza si
> ea bitii R si schimba protectia memoriei
> corespunzator.
>      In programul meu, timpul "virtual" de acces al
> unei pagini este egal cu numarul de apeluri al
> functiei de ceas. Deci acest timp nu se modifica pana
> la urmatorul apel al functiei de ceas, cand se va
> schimba, oricum, protectia memoriei. Intrucat
> urmatoarele accese nu modifica timpul de acces, atunci
> ar mai exista o posibilitate pt care faptul ca nu
> schimb protectia la PROT_NONE sa fie o greseala :
> bitul M al paginii sa fie 0 si sa urmeze o scriere in
> pagina, pe care eu sa nu o prind si, astfel, bitul M
> sa nu devina 1. Acest lucru nu se intampla, insa,
> deoarece fiecare pagina virutala a mea are, la un
> moment dat, doar unul din drepturi setat (ori de
> citire, ori de scrire). Daca are setat dreptul de
> scriere, atunci bitul M este deja 1 si un acces
> ulterior de scriere neprins nu schimba cu nimic
> situatia (nu modifica nici bitul M, nici timpul de
> acces). Pe de alta parte, daca bitul M este 0, atunci
> pagina are numai drepturi de citire si un acces de
> scriere in cadrul aceleiasi unitati de timp virtual
> ESTE PRINS si bitul M este modificat corespunzator.
>     Asadar, in acest conditii, as dori sa primesc
> inapoi cele 0.3 puncte pierdute [ daca se poate :) ].
>     In caz ca nu a reiesit clar din cele scrise mai
> sus, neschimbarea protectiei in acel moment (in cadrul
> algoritmului WSCLOCK) nu conteaza deoarece timpul de
> acces la WSCLOCK se modifica o data cu apelul functiei
> de ceas (care resteteaza bitii si schimba protectia
> memoriei). Daca timpul de acces folosit la WSCLOCK ar
> fi fost independent de apelurile functiei de ceas,
> atunci, intr-adevar, niste accese ulterioare la
> memorie ar fi condus la niste "pierderi" (nu ar fi
> fost modificat corespunzator timpul de acces).
>
>
>
>
> __________________________________
> Do you Yahoo!?
> Yahoo! Mail - 250MB free storage. Do more. Manage less.
> http://info.mail.yahoo.com/mail_250
> _______________________________________________
> so mailing list
> so@cursuri.cs.pub.ro
> http://cursuri.cs.pub.ro/cgi-bin/mailman/listinfo/so