[so] [Tema3][Linux][Adresa de mapare]
Adrian Șendroiu
molecula2788 at gmail.com
Sun Apr 22 20:11:21 EEST 2018
2018-04-22 18:45 GMT+03:00 Alexandru Militaru via so <so at cursuri.cs.pub.ro>:
> Salut,
>
> Nu îmi este foarte clar la ce adresă ar trebui mapate paginile. În enunțul
> temei se spune:
>
> Pagina trebuie mapată fix la adresa indicată în cadrul segmentului.
> În momentul în care este accesată o pagină nouă din cadrul unui segment,
> mapați pagina în care s-a generat page fault-ul, folosind MAP_FIXED, apoi
> copiați în pagină datele din executabil
>
> Asta înseamnă că din fiecare segment va fi mapată cel mult o pagină la orice
> moment de timp?
>
> Deci dacă toate paginile dintr-un segment se mapează la adresa
> segments[i].vaddr, fiecare nou page fault din cadrul unui segment va duce la
> o mapare care va suprascrie maparea precedentă din același segment?
>
> _______________________________________________
> http://ocw.cs.pub.ro/courses/so/info/lista-discutii
Salut,
Da, la fiecare fault vei mapa cel mult o pagină - asta e partea de
on-demand paging.
Un segment are o adresă de început (vaddr) și o dimensiune
(mem_size/file_size). În general se poate întinde pe mai multe pagini
(acel mem_size poate fi oricât). La fiecare fault va trebui să mapezi
doar pagina care conține adresa unde s-a făcut faultul.
More information about the so
mailing list