[so] [Tema 3] Nelamurire enunt

Mircea Bardac cs at mircea.bardac.net
Fri May 1 18:25:22 EEST 2009


Andrei Bucur wrote:
> Nefiresc ar putea fi faptul ca-s obligat sa fac mmap-uri anonime doar pentru
> a fi sigur ca cine va folosi biblioteca nu va scrie la adresa intoarsa de
> vinit in locurile unde nu este mapata nicio pagina din RAM. Si dupa cum bine
> observ, in test.c se foloseste malloc deci blocarea accesului la acele
> pagini este absolut necesara.

Biblioteca trebuie sa permita accesul la un chunk continuu de memorie
virtuala de dimensiune virt_pages. Intr-adevar, pentru a permite aceasta
functionalitate, trebuie "rezervat" respectivul spatiu de memorie.
Implementarea "rezervarii" este la latitudinea voastra, dar nu este
"nefireasca" in conditiile in care scopul bibliotecii este sa ofere
accesul la aceasta bucata de memorie. Dupa cum ai spus si tu, nu ai de
unde sa stii daca cineva iti va ocupa o pagina din setul continuu de
pagini pe care biblioteca il "administreaza" - asadar, trebuie rezervat
intr-un anume fel.

> Altceva ar putea fi implementarea On Demand Paging. Cum in tema nu putem
> vorbi de aducerea paginilor de pe disc in memorie, atunci tot ce trebuie sa
> facem e sa mapam o pagina din fisierul RAM si sa o initializam cu 0?

Da. "On Demand Paging"-ul consta in toate actiunile facute de nucleul
sistemului de operare pentru a oferi o pagina "on demand". Paginile
trebuie aduse de pe disc doar atunci cand nu sunt disponibile in RAM.

> In enunt se precizeaza "Ele [Paginile] vor fi create...". Nu pot sa
> spun ca am inteles exact la ce se refera acest act de creatie in
> contextul in care cantitatea de memorie folosita ramane constanta pe
> parcursul programului si initializarea paginilor cu 0 nu mi se pare
> un fenomen atat de special.

Intr-adevar, "actul de creatie" al paginilor nu este tocmai spectaculos.
In spate se pot intampla multe lucruri ce pot include alocari de
structuri, initializari de elemente in respectivele structuri,
initializarea cu 0 a memoriei etc.

Tema nu este o tema grea (mi se pare chiar ca este cea mai simpla tema).
Dupa ce este inteleasa functionalitatea, implementarea este relativ usoara.

-- 
Mircea
http://mircea.bardac.net


More information about the so mailing list