Wo müssen sich Programme befinden, welche durch die CPU ausgeführt werden sollen?
Im Hauptspeicher.
Was sollte im Spechermanagement ausgeführt werden?
Womit kann dies erfolgen?
Sicherheit: Zugriffe überprüfen und ggf. verhindern
Buchhaltung: welche Speicherbereiche werden benutzt, welche sind frei
Speichervergabe und -rücknahme an/von Prozessen
Bereitstellung von geeigneten Speicherbereichen (gemäß der erforderlichen Größe)
Datenverschiebung zwischen den Speicherhierarchien
Lösungen:
Swapping
virtueller Speicher
Welche formen der Speicherung gibt es? (absteigend von der nähe der CPU an sortiert)
Register
Cache
Hauptspeicher
Massenspeicher
Was ist eine logische Adresse?
Als logische Adresse bezeichnet man eine Adresse, die ein Prozess verwendet.
Was versteht man unter einer physischen Adresse?
Als physische Adresse bezeichnet man eine Adresse, an der tatsächlich ein Byte gespeichert werden kann.
Wie spielen physische und logische Adresse zusammen?
Die Adressumrechnung erfolgt durch die Memory Management Unit (MMU, der Teil der CPU) und das Betriebssystem.
Die getrennte Betrachtung wurde nötig, um komplexere Speicherverwaltungstechniken implementieren zu können.
Wie funktionieren einzelne feste Bereiche innerhalbe des Hauptspeichers?
Die Sicherheit kann durch einfache Hardwaremaßnahmen gewährleistet werden z.B. durch feste Bereiche für Betriebssystem (geschützter Bereich) und Prozesse.
Bei jeder Adressierung wird geprüft, ob die physische Adresse in einen geschützten Bereich zeigt und ggf. eine Ausnahme (Interrupt, Fault) auslöst.
Einfach zu realisieren und für einfache Systeme noch im Einsatz.
Wie funktionieren mehrere variable Bereiche innerhalb des Hauptspeichers?
Das Basisregister wird zum Verschieberegister (relocation register), das auf den Beginn des Speicherbereichs zeigt. Durch Addition des Inhalts auf die logische wird die physische Adresse errechnet.
Das Größenregister prüft, ob die Adresse im zugewiesenen Adressraum des Prozesses liegt.
Was muss zusätzlich beachtet werden wenn der Arbeitsspeicher flexibilisiert wird?
Algorithmen zur Auswahl passender Bereiche sind nötig.
Bei Variablen Bereichen können Speicherlücken zwischen den variablen Bereichen entstehen.
Reich kein zusammenhängender, freier Bereich mehr für einen Prozess aus, müssen Bereiche ggf. zusammengefasst werden.
Über freie und belegte Bereiche muss Buch geführt werden.
Was ist Fragmentierung?
Da nun Programme zu beliebigen Zeiten an beliebige Stellen in den Speicher geladen werden, können Lücken entstehen.
Dieses Phänomen nennt man Fragmentierung. Mit der Zeit können viele kleine Fragmente entstehen, die zu Speicherverschwendung führen.
Was sind mögliche Strategien zum auffinden des optimalen Speicherbereichs?
Frist Fit: Verwendung des ersten freien Bereichs, der groß genug ist
Next Fit: Verwendung des nächsten freien Bereichs, der groß genug ist. Start an der Stelle, die als letztes verwendet worden ist
Best Fit: Verwendung des kleinstmöglichen freien Bereichs, der groß genug ist
…
Nenne zwei Arten der Speicherbuchhaltung.
Bitmaps (b): Jedes Bit identifiziert einen kleinen Speicherbereich, daher feste Größe. 0 = frei, 1 = belegt
Freibereichslisten (c): Jedes Element der Liste beschreibt den
Speicherbereich für einen Prozess oder freien Speicher. P = Prozess (bzw. belegt), F = frei
Was ist swapping?
Auslagern von Teilen des Hauptspeichers auf die Festplatte.
Was ist virtueller Speicher?
Ist ein Programm größer als der zur verfügung stehende Hauptspeicher, werden immer nur die Teile in den Hauptspeicher geladen, welche aktuell benötigt werden. Andere Teiler werden bei Bedarf aus dem Massenspeicher nachgeladen.
Nenne Ladestrategien, womit Seiten in den Hauptspeicher geladen werden.
Swapping:
Übertragung eines ganzen Adressraums mit einem einzigen Zugriff auf den Hintergrundspeicher.
Demand-Paging:
Die benötigten Seiten werden genau dann in den Speicher geladen, wenn auf sie zugegriffen wird.
Pre-Paging:
Es werden Seiten geladen, auf die in der Zukunft ein Zugriff erwartet wird. Erfordert Kenntnisse über typische Zugriffsmuster.
Page-Clustering:
Gemeinsame Übertragung von mehreren zusammengehörigen Seiten.
In der Praxis dominiert Demand-Paging.
Was ist eine Ersetzungsstrategie und nenne sie.
Die Ersetzungsstrategie bestimmt, welche der belegten Kacheln ausgelagert werden, damit wieder freie Kacheln zur Einlagerung von benötigten Seiten vorhanden sind.
Beladys Optimalalgorithmus (Belady)
Es wird die Seite ersetzt, auf die in der Zukunft am längsten nicht zugegriffen wird (Realisierbarkeit?).
Not Recently Used (NRU)
Es wird die Seite ersetzt, auf die kürzlich nicht zugegriffen wurde. Definition von „Kürzlich“ erforderlich.
First In First Out (FIFO) / Second Chance (SC)
Es wird die Seite ersetzt, die bereits am längsten im Speicher steht. Variante SC: Es werden Seiten übersprungen, auf die seit dem letzten Seitenfehler zugegriffen wurde. Falls auf alle Seiten zugegriffen worden ist à FIFO
Least Recently Used (LRU)
Es wird die Seite ersetzt, auf die am längsten nicht mehr zugegriffen wurde.
Not Frequently Used (NFU)
Es wird die Seite ersetzt, auf die am wenigsten zugegriffen wurde.
Last changeda year ago