Cuprins
Introducere 3
Capitolul I Alocarea memoriei principale 5
I.1 Algoritmi pentru gestionarea memoriei 6
I.3 Compactarea şi colectarea gunoaielor 9
I.4 Suprapunere 11
I.5 Încărcarea dinamică 13
I.6 Swapping 13
Capitolul II Memoria virtuală 15
II. 1 Paginare 15
II.1.1 Tabelele de pagină 17
II.1.2 Înlocuirea paginii 22
II.1.3 Alocare de cadre pentru un singur proces 22
II.1.4 A doua şansă 25
II.1.5 Alocarea cadrelor pentru procese multiple 26
II.1.6 Alocarea cu partiţii fixate 30
II.1.7 Frecvenţa erorii de pagină (PFF) 30
II.1.8 Mulţime de lucru 31
II.2 Segmentare 31
II.2.1 Segmentarea în sistemul de operare MULTICS 33
II.2.2 Intel x86 35
Capitolul III. Organizarea memoriei în sistemul de operare UNIX 36
III.1 Swapping (transfer) 36
III.1.1 Alocarea spaţiului de swap 37
III.1.2 Transferarea proceselor din memoria principală 40
III.1.3 Transferul proceselor în memoria principală 41
III.2 Pagină la cerere 45
III.2.1 Structuri de date pentru paginarea la cerere 46
III.2.2 Procesul care fură pagini (pfp) 51
III.2.3 Erorile de pagină 55
III.2.4 Paginare la cerere pe hardware mai puţin sofisticat 59
III.3 Un sistem hibrid cu swap şi paginare la cerere 59
Capitolul IV Alocarea memoriei în sistemul de operare Windows 61
IV.1 Modelul de memorie segmentată de la Windows 3.1 61
IV. 2 Modelul de memorie nediferenţiată de la Windows NT 63
IV.3 Tipuri de memorie Windows 66
Capitolul V. Alocatoare de memorie 68
V.1 Un alocator dinamic foarte simplu 68
V.2 Alocatorul cu hartă de resurse 68
V.3 Alocatorul cu puteri ale lui 2 70
V.4 Alocatorul Karels-McKusick 71
V.5 Alocatorul “slab“ 72
Bibliografie 75