Calculatoare
Paginarea memoriei - suportul hardwarePaginarea este un tip de alocare necontiguu, aceasta insemnand ca unui proces ii poate fi alocata memorie oriunde, atat in memoria interna cat si in cea externa, iar memoria alocata poate fi formata din bucati de memorie. Suportul hardware Memoria fizica este impartita in blocuri de lungime fixa, numite cadre de pagina (frames) sau pagini fizice. Lungimea unui cadru este o putere a lui doi si este constanta pentru fiecare arhitectura de sistem in parte. Pentru Intel lungimea unui cadru este 4KO. Memoria logica a unui proces este impartita in pagini logice sau pagini virtuale care sunt plasate in memoria secundara, pe harddisc. Pentru executia unui proces, paginile sale logice trebuie incarcate in cadrele libere ale memoriei fizice, intr-un mod necontiguu. Evidenta cadrelor libere este tinuta de sistemul de operare. Bineinteles, daca procesul are nevoie de n pagini logice, trebuie sa se gaseasca n cadre libere. Atat adresele fizice cat si cele logice sunt implementate in hard si ele contin: -adresa fizica=numar de cadru(f)+deplasament in cadru(d) -adresa logica=numar de pagini logice(l)+deplasament in pagina logica Prin mapare se intelege translatarea adresei logice in adresa fizica. Aceasta sarcina ii revine sistemului de operare prin utilizarea tabelei de pagini. Fiecare proces are o tabela de pagini in care in care fiecare pagina logica are adresa de baza a cadrului asociat ei. Pentru translatare se foloseste numarul de pagina drept index in tabela de pagini. Concluzii privind paginarea Principalul avantaj al paginarii este eliminarea completa a fragmentarii externe. Nu dispare insa si fragmentarea interna, deoarece poate ramane un spatiu nefolosit dar alocat proceselor, fiindca dimensiunea proceselor nu este un multiplu exact al lungimii paginilor. Un alt avantaj al paginarii este posibilitatea de partajare a memoriei. Doua sau mai multe pagini pot vedea aceeasi zona de memorie incarcand paginile logice in acelasi cadru fizic. Singura solutie este ca in acel cadru fizic sa fie memorat cod reentrant, adica un cod care nu se mai poate automodifica in timpul executiei. Datorita proprietatii de reentranta , este posibil ca doua sau mai multe procese sa execute simultan acelasi cod, fiecare proces pastrand o copie a registrelor si a datelor proprii. In memoria fizica este necesar sa se pastreze o singura copie a codului comun, fiecare tabela de pagina indica spre acelasi cadru, in timp ce paginile corespunzatoare datelor proceselor sunt memorate in cadre diferite. Un dezavantaj al paginarii este faptul ca fiecare acces la memorie presupune un acces suplimentar la tabela de pagini pentru calculul de adresa.
|