Akademik

Speicherverwaltung
Speicherverwaltung,
 
Komponente des Betriebssystems einer Rechenanlage, deren Aufgabe die Zuweisung und Überwachung aller vom System benutzten Speicher ist. Da der Zugriff auf verschiedene Speicherarten unterschiedlich lange dauert und gewöhnlich umso weniger Speicherbereich zur Verfügung steht, je schneller die Zugriffe erfolgen können, besteht eine wesentliche Aufgabe der Speicherverwaltung darin, die Speicherzuteilung zu optimieren. Die wichtigsten, am häufigsten benötigten und zeitkritischen Teile eines gerade auszuführenden Anwendungsprogramms werden im schnellsten Speicher, dem Haupt- oder Arbeitsspeicher abgelegt. In schnellen Pufferspeichern wie dem Cache werden oft benötigte Daten zwischengelagert, die keinen Platz im Arbeitsspeicher finden. Reichen die Ressourcen der schnellen Speicher nicht aus, müssen Programmteile und Daten auf langsame Massenspeicher von hoher Datenkapazität, wie z. B. die Festplatte, ausgelagert werden (siehe virtueller Arbeitsspeicher). Das Betriebssystem verteilt nun die verschiedenen Speicherreserven, sodass die Programmbearbeitung möglichst schnell abläuft.
 
Wenn ein Betriebssystem mehrere Programme nebeneinander laufen lassen kann (Multitasking), teilt es nach Möglichkeit jedem der parallel laufenden Programme Teile des Arbeitsspeichers zu und sorgt dafür, dass kein Programm die Speicherbereiche eines anderen überschreibt.
 
Werden die Speicherplätze erst zur Laufzeit eines Programms reserviert und zugeordnet, spricht man von dynamischer Speicherverwaltung. Entsprechend muss dabei der reservierte Speicherbereich wieder freigegeben werden, wenn er nicht mehr benötigt wird. Die Vorgänge des Reservierens bzw. Wiederfreigebens von Speicherplatz nennt man Allozieren und Deallozieren. Dafür stehen in einigen Programmiersprachen wie z. B. Algol60, PL/1 oder C eigene Befehle zur Verfügung (z. B. in PL/1 ALLOCATE und FREE). Die dynamische Speicherverwaltung arbeitet i. A. mit festen Blöcken. Zwei Konzepte sind verbreitet: Das eine verwendet Stapelspeicher, bei denen die zuletzt reservierten Blöcke als Erste wieder freigegeben werden, das andere setzt Halden ein, die nicht freigegeben werden müssen bzw. bei denen einfach die Verweise auf die belegten Adressen verfallen.

Universal-Lexikon. 2012.