Grundlagen des Memory Managements: Konzepte und Methoden
Eingeordnet in Informatik
Geschrieben am in
Deutsch mit einer Größe von 2,84 KB
Memory Management: Definition
Das Memory Management (Speicherverwaltung) umfasst folgende Aufgaben:
- Programmverwaltung: Laden von Programmen in den Hauptspeicher zur Ausführung durch den Prozessor.
- Dynamische Zuweisung: Aufteilung des Hauptspeichers auf mehrere Prozesse.
- Effizienz: Optimale Speicherzuweisung, um Leerlaufzeiten des Prozessors zu vermeiden.
- Speichererweiterung: Ausführung von Programmen, die größer als der physische Arbeitsspeicher sind.
Anforderungen an das Memory Management
1. Relokation
- Fähigkeit, ein Programm in verschiedene Bereiche des Hauptspeichers zu verschieben, ohne die Speicheradressierung zu beschädigen.
- Die Prozessor-Hardware und das Betriebssystem übersetzen logische Adressen in physische Speicheradressen.
2. Schutz (Protection)
Jeder Prozess muss vor unerwünschten Störungen durch andere Prozesse geschützt werden. Die Hardware überwacht den Zugriff und unterbricht die Ausführung bei Verletzungen.
3. Sharing (Gemeinsame Nutzung)
Ermöglicht mehreren Prozessen den Zugriff auf denselben Speicherbereich.
- Vorteile: Gemeinsame Datenstrukturen und Zugriff auf dieselbe Programmkopie ohne Sicherheitsrisiken.
4. Logische Organisation
Programme und Daten werden in Modulen organisiert:
- Speicher: Folge von Bytes und Wörtern.
- Programme: Modulare Struktur.
- Vorteile: Unabhängige Kompilierung und Ausgleichsmechanismen zwischen Modulen.
5. Physische Organisation
Organisation des Speichers in zwei Ebenen:
- Hauptspeicher: Schnell, flüchtig, hohe Kosten.
- Sekundärspeicher: Langsam, permanent, kostengünstig.
Technisches Management des Speichers
a) Fixe Partitionierung
Der Hauptspeicher wird in statische Partitionen unterteilt.
- Stärken: Einfache Implementierung, geringer System-Overhead.
- Schwächen: Interne Fragmentierung (ineffiziente Speichernutzung), da die Anzahl und Größe der Partitionen bei der Systemgenerierung festgelegt werden.
Algorithmen für die Zuweisung
- Verteilung bei gleicher Partitionsgröße.
- Verteilung bei unterschiedlicher Partitionsgröße: Entweder eine Warteschlange pro Partition oder eine gemeinsame Warteschlange für alle Partitionen.
b) Dynamische Partitionierung
Jeder Prozess erhält genau den Speicherplatz, den er benötigt.
- Stärken: Keine interne Fragmentierung.
- Schwächen: Entstehung von Speicherlöchern (externe Fragmentierung).