Sisteme de Operare - Concepte Fundamentale - Gestiunea Memoriei

Previzualizare curs:

Extras din curs:

CAPITOLUL III

GESTIUNEA MEMORIEI

Obiective. În conformitate cu arhitectura von Neumann, memoria primara (interna) este o componenta principala a calculatoarelor, rolul ei fiind de a pastra date si programe, atunci când acestea urmeaza a fi folosite de catre un proces executat de catre CPU. Memoria primara împreuna cu registrii CPU si memoria „cache” formeaza memorie executabila, deoarece aceste componente sunt implicate în executia unui proces. CPU poate încarca instructiunile acestuia numai din memoria primara. Pentru a fi prelucrate, datele sunt încarcate de catre unitatea aritmetica si logica din memoria interna în registrii CPU, iar dupa efectuarea unei instructiuni cod masina, sunt stocate în memoria interna. Unitatile de memorie externa (secundara) sunt utilizate pentru a stoca date pentru o mai lunga perioada de timp. Fisierele executabile, pentru a deveni procese, precum si informatiile prelucrate de acestea, trebuie sa fie încarcate în memoria primara.

Aministratorului memoriei interne este responsabil de alocarea memoriei primare proceselor si de a acorda asistenta programatorului în încarcarea/salvarea informatiilor din/în memoria secundara. Astfel, partajrea memoriei interne de catre mai multe procese si minimizarea timpului de acces sunt obiective de baza ale administratorului memorie interne.

Dupa parcurgerea acestui capitol, studentii trebuie sa cunoasca:

- principalele probleme legate de administrarea memoriei;

- principalele metode de alocare a memoriei, de la alocarea în sistemele monoutilizator pâna la paginarea memoriei, utilizata de sistemele de operare moderne;

- algoritmii de paginare;

- metodele de organizare si administrare ale memoriei cu accesare rapida(„cache”).

1. Introducere

Spatiul de adrese al unui proces. Componentele unui program sursa sunt reprezentate folosind identificatori, etichete si variabile, ce reprezinta niste nume simbolice si formeaza spatiul de nume al programului sursa. Faza de compilare transforma un text sursa într-un modul obiect, adica fiecare nume simbolic este translatat într-o adresa relativa la modulul obiect. Faza de editare de legaturi grupeaza mai multe module, formând un fisier, numit modul absolut, stocat pe un suport extern pâna când se cere executia lui. Editorului de legaturi transforma adresele din cadrul modulelor în asa-zisele adrese relocabile. Faza de translatare (relocare) a adresei consta în transformarea adreselor relative la fisierul executabil, în adrese de memoria interna, realizându-se astfel imaginea executabila a programului. Acest lucru este realizat de o componenta a SO, numita încarcator(loader). Spatiul de adrese al unui proces este multimea locatiilor alocate acestuia, atât din memoria primara, cât si din cea secundara, servicii ale SO si resurse. Cea mai mare parte a spatiului de adrese al unui proces se proiecteza în locatii de memorie primara.

Altor obiecte referentiate de catre un program le sunt asociate adrese de memorie interna. Spatiul de adrese defineste toate entitatile logice folosite de catre un proces si specifica o adresa prin care ele sunt referentiate. Un program poate fi gândit ca o specificare a unei activitati(algoritm) care urmeaza sa fie realizata de catre un proces. El contine un set de instructiuni care urmeaza sa fie executate si o multime de variabile pe care le utilizeaza. Când un program sub forma de fisier executabil este gata de executie, se realizeaza o corespondenta care defineste unde vor fi plasate procedurile si datele în spatiul de adrese al procesului.

Încarcarea programului. Înainte ca un program sa fie executat, trebuie sa-i fie alocat un spatiu din memoria primara. Daca se lucreaza în multiprogramare, este necesar ca în memorie sa fie prezente simultan mai multe programe. Fiecare program foloseste zona(zonele) de memorie alocata(alocate) lui, independent de eventuale alte programe active. De asemenea, pe durata executiei unui program, necesarul de memorie variaza. Odata ce sistemul cunoaste care locatii de memorie urmeaza a fi folosite pentru executia programului, poate sa realizeze corespondenta dintre adresele de memorie primara alocate procesului respectiv si spatiul sau de adrese. Deci programul executabil este translatat într-o forma finala accesibila unitatii de control a CPU si încarcat în memoria primara, la o anumita adresa de memorie. Când contorul de program este initializat cu adresa primei instructiuni executabile(principalul punct de intrare din program), CPU începe sa execute programul.

Încarcatorul produce programul executabil atunci când încarca fisierul executabil în memoria interna. În anumite SO, administratorul memoriei poate sa stearga o parte din programul executabil din memoria primara, sa-l salveze în memoria secundara si sa elibereze zona de memorie ocupata, astfel încât aceasta sa poata fi alocata altor procese.

Download gratuit

Documentul este oferit gratuit,
trebuie doar să te autentifici in contul tău.

Structură de fișiere:
  • Sisteme de Operare - Concepte Fundamentale - Gestiunea Memoriei.DOC
Alte informații:
Tipuri fișiere:
doc
Nota:
7/10 (1 voturi)
Nr fișiere:
1 fisier
Pagini (total):
34 pagini
Imagini extrase:
34 imagini
Nr cuvinte:
12 500 cuvinte
Nr caractere:
65 326 caractere
Marime:
110.65KB (arhivat)
Publicat de:
NNT 1 P.
Nivel studiu:
Facultate
Tip document:
Curs
Domeniu:
Sisteme de Operare
Predat:
la facultate
Materie:
Sisteme de Operare
Sus!