| Zeile 4: | Zeile 4: | ||
Generell ist die Speicherverwaltung dafür zuständig nachfragenden Prozessen freien Speicher zuzuteilen bzw. freizugebenden Speicher wieder zurückzunehmen. Dazu muss natürlich gespeichert werden, welche Speicherbereiche belegt bzw. frei sind. Es ist wichtig zu verstehen, dass die Speicherverwaltung normalerweise auf 2 Ebenen aufgeteilt wird: Zum einen die [[ #physische Speicherverwaltung | physische Speicherverwaltung]] und darauf aufbauend die [[ #virtuelle Speicherverwaltung | virtuelle Speicherverwaltung]]. | Generell ist die Speicherverwaltung dafür zuständig nachfragenden Prozessen freien Speicher zuzuteilen bzw. freizugebenden Speicher wieder zurückzunehmen. Dazu muss natürlich gespeichert werden, welche Speicherbereiche belegt bzw. frei sind. Es ist wichtig zu verstehen, dass die Speicherverwaltung normalerweise auf 2 Ebenen aufgeteilt wird: Zum einen die [[ #physische Speicherverwaltung | physische Speicherverwaltung]] und darauf aufbauend die [[ #virtuelle Speicherverwaltung | virtuelle Speicherverwaltung]]. | ||
| − | == | + | == Physische Speicherverwaltung == |
| − | Die ''' | + | Die '''Physische Speicherverwaltung''' bildet die unterste Ebene und ermöglicht das Allozieren und Freigeben von physischen Speicherbereichen. Meist sind diese Speicherbereiche gleich groß und richten sich nach der Seitengröße der jeweiligen Architektur. Die Seitengröße beträgt normalerweise bei der [[x86]]- und [[x86-64]]-Architektur 4kB. Es sind dort auch 4 ([[x86]]) bzw. 2MB ([[x86-64]]) möglich. Intern speichert die physische Speicherverwaltung welche Speicherbereiche im physischen Speicher frei sind. Dies könnte folgendermaßen implementiert werden: |
=== Bitmap === | === Bitmap === | ||