SHPORA.net :: PDA

Login:
đćăèńòđàöèÿ

Main
FAQ

ăóìàíèòàđíûć íàóêè
ćńòćńòâćííûć íàóêè
ìàòćìàòèśćńêèć íàóêè
òćőíèśćńêèć íàóêè
Search:
Title: | Body:

b.Procesul page stealer

Nucleul treze?te procesul page stealer atunci când memoria liberă disponibilă în sistem ajunge la un nivel minim, iar acesta evacuează pagini până când memoria liberă disponibilă în sistem ajunge la un nivel stabilit.
Când page stealer decide să evacueze o pagină, acesta verifică dacă o pagină există o copie a paginii pe dispozitivul de swap. Există trei posibilități:
1. Dacă nu există nici o copie a paginii pe dispozitivul de swap, nucleul planifică pagina pentru o evacuare: page stealer pune pagina într-o listă a paginilor care trebuiesc evacuate ?i continuă; din punct de vedere logic, evacuarea este terminată. Când lista paginilor de evacuat atinge o limită (dependentă de prioritățile controlerului de disc), nucleul scrie paginile pe dispozitivul de swap.
2. Dacă există deja o copie a paginii pe dispozitivul de swap ?i nici un proces nu i-a modificat conținutul în memorie (în intrarea din tabela de pagină bitul modify este ?ters), nucleul ?terge bitul valid al intrării din tabela de pagină, decrementează contorul de referință la intrării din tabela pfdata ?i pune intrarea într-o listă de intrări libere în vederea unei alocări viitoare.
3. Dacă există o copie a paginii pe dispozitivul de swap, dar un proces a modificat conținutul paginii în memorie, nucleul planifică pagina pentru a fi evacuată, ca mai sus, ?i eliberează spațiul pe care pagina îl ocupă pe dispozitivul de swap.
În concluzie, există două faze în evacuarea unei pagini din memorie. În prima fază, page stealerul găse?te pagina ce poate fi evacuată ?i plasează numărul paginii în lista de pagini care trebuie evacuate. În cea de-a doua fază, nucleul copiază pagina pe dispozitivul de swap convenit, pune pe "0" bitul valid în intarea din tabela de pagină, decrementează contorul de referință al intrării din pfdata ?i pune intrarea din pfdata la sfâr?itul listei de intrări libere dacă din memorie este valid până când pagina este reasigurată.