[so] [Tema5] Secventa munmap/mmap pe Linux

Liviu Ciortea liviuefer at gmail.com
Tue Jan 8 19:24:45 EET 2008


In 'vinit' mapez memorie si intorc un pointer catre o zona virtuala de
dimensiune V pagini.  Nu pot mapa aici direct fisierul RAM, pentru ca
acesta are dimensiunea de P pagini si nu exista o corespondenta unu la
unu intre aceste pagini.  Maparea din 'vinit' ar avea efectul
VirtualAlloc(...MEM_RESERVE...) din Windows.  Maparea/demaparea din
handler au rolul de a simula exact procesul de mapare/demapare a unei
pagini virtuale catre una fizica.  Daca algoritmul de swapping
determina ca a n-a pagina virtuala trebuie sa se mapeze catre a m-a
pagina fizica, eu voi mapa a n-a pagina virtuala catre a m-a pagina
fizica din fisierul de RAM (folosindu-ma de flagul MAP_FIXED la
mapare).  In acest caz sistemul de operare va face paging nu catre
propriul sau fisier de swap, ci direct catre fisierul nostru de RAM.


More information about the so mailing list