Tema 9 de gestionare a memoriei în linux

1 *. Structura memoriei în linux

Conține instrucțiuni de mașină care formează codul executabil al programului. Acesta este creat de compilator și de asamblor atunci când programul este tradus în codul mașinii (numai pentru citire).







Conține variabile, șiruri, matrice și alte date de program. Se compune din 2 părți: date inițializate și date neinitializate. Partea inițializată a segmentului de date conține variabilele și constantele compilatorului, ale căror valori trebuie să fie specificate la pornire. Toate variabilele din partea neinitializată trebuie resetate la 0.

Segmentul de stivă

1. Memorați în memorie două copii ale codului sursă al programului

2. Ambele procese se referă la aceeași locație de memorie în care este localizat textul programului.

1. ZONE_DMA sunt pagini care pot fi utilizate pentru operațiile DMA

2. ZONE_NORMAL sunt paginile afișate normal

Cartela de memorie este organizată după cum urmează:

2. descriptorul zonei - conține informații despre utilizarea memoriei în zonă, cum ar fi numărul de pagini active și inactive, limitele inferioare și superioare pentru algoritmii de înlocuire a paginii etc. În plus, descriptorul zonei conține o serie de zone libere. Primul element al acestei matrice indică primul descriptor al paginii blocului 1 și paginile libere. Prezența acestei structuri se datorează posibilității sistemului de transfer linux pe arhitectura NUMA. Fiecare descriptor de nod conține informații despre utilizarea memoriei și zonele pentru acest nod particular.







Memoria fizică este utilizată în diverse scopuri, părți ale cărora pot fi descărcate sau nu descărcate pe hard disk. Kernel-ul sistemului, la fel ca nici una dintre părțile sale, nu este descărcat pe disc, restul memoriei este disponibil pentru paginile de utilizator.

În plus, sistemul de operare linux acceptă module încărcabile dinamic, în principal driverele de dispozitive. Ele pot fi mai mari și fiecare dintre ele ar trebui să fie alocată o secțiune continuă a nucleului de memorie.

1. Directorul global

2. Primul catalog

3. Catalogul mediu

Sistemul linux utilizează o schemă pe patru niveluri a tabelelor de pagini. Câmpurile de directoare sunt utilizate ca index în directorul corespunzător al paginilor. Catalogul global indică directorul superior, directorul superior indică punctele medii și medii către pagina particulară pe care doriți să o utilizați la un moment dat.







Articole similare

Trimiteți-le prietenilor: