[so] tema 5 ...

Octavian Purdila so@cursuri.cs.pub.ro
Fri, 7 Jan 2005 15:32:51 +0200


On Friday 07 January 2005 03:19 pm, Dorin Pena wrote:
> 1. mapezi p fara drept de read si write, setezi R si W pe 0
> 2. la p[100]=10 -> semnal
> 3. in handler setezi R=1, mapezi p doar cu drept de read
> 4. p[100]=10 se reexecuta -> semnal
> 5. in handler setezi W=1, mapezi p cu drept de read si write
>
> In acelasi mod ma gandisem sa fac si eu. Dar mi-am pus problema ..
> daca fac asa, totul se petrece numai in memria virtuala, nu? Adica
> pointerul p iti indica zona de memorie virtuala. Cum faci
> corespondenta cu memoria fizica?
> Ma refer la acel mecanism managementul meoriei. In hardaware, e
> implementat ca mmu, si daca accesezi adresa de mem virtuala 100 sa
> zic, iti translata in memorie fizica si se lucra la memoria fizica
> respectiva.
> Noi cum am putea sa simulam lucrul acesta? Dupa exemplul de mai sus,
> se lucreaza numai cu memoria virtuala..

Pai pagina p trebuie mai intai mapata in memorie cu mmap, ceea ce corespunde 
asocierii facute de MMU intre pagina din memoria virtuala (in cazul de fata 
memoria procesului) si pagina din memoria fizica (in cazul de fata fisier)

tavi