b.Structuri de date p-ru demand paging

[ ]
Nucleul conine 4 structuri de date majore pentru a asigura funciile de gestiune a memoriei la nivel sczut ?i paginarea la cerere: intrrile din tabela de pagin (page table entries), descriptorii de bloc disc, tabela pfdata (page frame data table) ?i tabela de folosire a spaiului de swap (swap use table). Nucleul aloc spaiu pentru tabela pfdata o singur dat pe durata de via a sistemului, dar pentru celelalte structuri aloc pagini de memorie dinamic. O regiune conine tabele de pagin pentru a accesa memoria fizic. Fiecare intrare a unei tabele de pagin conine adresa fizic a paginii, biii de protecie care indic dac procesul poate citi, scrie sau executa pagina ?i urmtoarele cmpuri de bii pentru asigurarea paginrii la cerere:
*valid ? validare (Nucleul modific bitul valid pentru a indica legalitatea coninutului unei pagini, dar aceasta nu nseamn c, atunci cnd acest bit indic ilegalitatea coninutului unei pagini, este ilegal ?i referirea paginii respective);
*reference - referin (indic dac un proces a referit recent o pagin);
*modify ? modificare (indic dac un proces a modificat recent coninutul unei pagini);
*copy on write - copie la cerere (utilizat n apelul sistem fork, indic faptul c nucleul
trebuie s creeze o nou copie a paginii atunci cnd procesul i modific coninutul);
*age ? timp (nucleul manipuleaz setul de bii age pentru a indica ct timp o pagin a
fcut parte din setul de lucru al unui proces).
Fiecare intrare n tabela de pagin este asociat cu un descriptor de bloc disc, care descrie copia pe disc a paginii virtuale. Coninutul unei pagini virtuale se poate gsi ntr-un anumit bloc din zona de swap, ntr-un fi?ier executabil sau nu se poate gsi pe un dispozitiv de swap. Dac pagina se gse?te ntr-o zon de swap, descriptorul de bloc disc conine numrul dispozitivului logic ?i numrul blocului care conine pagina respectiv. Dac pagina este coninut ntr-un fi?ier executabil, descriptorul de bloc disc conine numrul blocului logic din fi?ier care conine pagina;

:

Network | | | | | | | | | | | | | | | - | | | | | | | | | | | | | | | | | | | | | () | | | | | | | | | | | | | | | | () | Assembler | Basic, VB | Pascal | , ++ |