Speicherverwaltung Flashcards
Swapping Definition
Prozesse werden komplett in den Speicher ein- und ausgelagert #dynamische Partitionierung: Speicherbereich = Größe des Prozesses # statische Partitionierung : Speicherbereich feste Größe
Paging
Transports der Daten vom Hauptspeicher auf die Festplatte und umgekehrt
Prozesse in Seiten unterteilt
Speicher in Rahmen unterteilt
Zuordnung wie statische Partinitionierung
Adressumsetzung Paging
#Umrechnung der virtuellen Speicheradresse in physikalische Speicheradresse #Present bid in der Seitentabelle gibt an, ob die virtuelle Speicheradresse entsprechend im physikalischen Speicher vorhanden ist #wenn nicht, -->Interrupt für einen Page Fault
Page Fault
#Ist eine Seite ausgelagert, die jedoch benötigt wird, wird ein page fault erzeugt #Interrupt, danach normale ISR #Gem. eines Algorithmus wird eine Seite ausgelagert, die gewünschte Seite eingelagert und die Seitentabelle entsprechend geändert #nach der ISR wird der Befehl mit der Adresskonversion fortgesetzt
Seitentabelle Komponenten
Seitenrahmennummer: gibt an, in welchem Seitenrahmen im Hauptspeicher sich die mit dem Eintrag korrespondierende vir-tuelle Seite befindet
Present/Absent Bit: Seite im Hauptspeicher?
Invertierte Seitentabelle
Tabelle, die zu jeder realen Seite die in ihr enthaltene virtuelle Seite (inklusive der Prozess-ID des entsprechenden Prozesses) speichert
nicht für jeden Prozess wird eine Seitentabelle angelegt, stattdessen:
Arten von Seitentabellen
Einfach
Seitenersetzungsalgorithmen Defitnion
Entscheiden, wer bleiben darf
Shared Memory
ein von mehreren Prozessen gemeinsam genutzter Speicherbereich, der nur einmal in den Hauptspeicher geladen wird
Wann ist Shared memory sinnvoll?
wenn gemeinsame globale Datenbereiche genutzt werden
wenn bei vielen Benutzerprozessen derselbe Code verwendet wird
wenn mehrere Benutzerprogramme dieselben Bibliotheken benutzen
Welche Aufgaben haben im Prozess-Management der Dispatcher und der Scheduler?
Die Komponente im Prozessmanager, die für die Planung der Betriebsmittelzuteilung
zuständig ist, heißt Scheduler.
Die Komponente, die dann einen tatsächlichen Prozesswechsel ausführt, ist Dispatcher.
Erläutern Sie den Unterschied zwischen preemptive und non-preemptive Scheduling
und nennen Sie jeweils zwei Scheduling-Strategien, die in diese Kategorien passen.
im non-preemptive darf ein Prozess nicht unterbrochen werden, bis er seine Aufgaben vollständig erledigt hat. # Beispiele: First Come First Served (FCFS) und Shortest Job First (SJF).
im preemptive Scheduling eine Unterbrechung stattfinden: # Beispiele: Round Robin (RR) und Priority Scheduling (PS).
Wie funktioniert der RR-Scheduling-Algorithmus?
RR (Round Robin) ist im Prinzip FCFS (First Come First Served) in Verbindung mit
einer Zeitscheibe.
Prozess erhält ein bestimmtes Quantum. Wenn es abgelaufen ist, wird der Prozess unterbrochen und ein
anderer Prozess erhält die CPU
Der unterbrochene Prozess wird hinten in die Warteschlange eingetragen und kommt erst dann wieder an die Reihe, wenn die anderen Prozesse ihr Quantum verbraucht oder aus einem anderen Grund unterbrochen wurden
Warum ist der Scheduling-Algorithmus Shortest Remaining Time First (SRTF) kaum zu realisieren?
SRTF wählt den Prozess mit der kürzesten noch verbleibenden Zeit als nächstes aus und wäre theoretisch für Dialogprozesse optimal. Er ist kaum zu realisieren, da in Betriebssystemen keine Informationen über die verbleibende Prozesszeit vorliegen.
Welche grundlegenden Gedanken stecken hinter dem Konzept des virtuellen Speichers?
Ein Prozess sollte auch dann ablaufen können, wenn er nur teilweise im Haupt speicher ist. Wichtig ist hierbei, dass die Teile des Prozesses (Daten und Code) im physikalischen Speicher sind, die gerade benötigt werden.
Der Speicherbedarf eines Programms sollte größer als der physikalisch vorhandene Hauptspeicher sein können.
Ein Programmierer sollte am besten nur einen kontinuierlichen (linearen) Speicherbereich beginnend bei Adresse 0 sehen und sich nicht um die Zerstückelung (Fragmentierung) des Hauptspeichers auf mehrere Benutzer kümmern.
Wie viele Seitentabellen müssen bei virtueller Adressierung vom Betriebssystem verwaltet werden, wenn mit einer einstufigen Seitentabelle gearbeitet wird und gerade 10 Prozesse aktiv sind?
Es müssen 10 Seitentabellen verwaltet werden, eine je Prozess.
Warum ist der LRU-Algorithmus zur Seitenersetzung bei der virtuellen Adressierung schwer zu realisieren?
Damit man die am längsten unbenutzte Seite schnell im Zugriff hat, muss man einigen Aufwand bei jedem Zugriff leisten.
Welche Probleme ergeben sich bei sehr großen virtuellen Adressräumen in Bezug auf die Verwaltung der Seitentabellen?
Umsetzung einer virtuellen Adresse auf eine reale Adresse ist mit zusätzlichen Hauptspeicherzugriffen auf die Seitentabellen verbunden und verschlechtert damit die Leistungsfähigkeit
Welche Möglichkeiten gibt es, die hohe Belastung der Seitentabellenverwaltung insbesondere bei großen Adressräumen zu optimieren?
Adressumsetzpuffer (Translation Lookaside Buffers, kurz: TLB)
invertierten Seitentabellen.
Erläutern Sie das Working-Set-Verfahren, das Windows einsetzt!
Jeder Prozess erhält ein sog. Working-Set, also eine Arbeitsmenge an Frames, die im Rahmen einer Working-Set-Strategie zugeordnet werden.
eder Prozess verfügt über einen Working-Set von mindestens 20 bis 50 Seiten
Erläutern Sie die Grundprinzipien des TLB
Adressumsetzpuffer (TLB) ist ein eigener, schneller Speicher, der eine Tabelle darstellt, in der eine Zuordnung von virtuellen auf reale Adressen verwaltet wird.
Warum ist der Working-Set-Algorithmus so aufwändig zu implementieren?
Weil bei jeder Seitenersetzung die gesamte Seitentabelle eines Prozesses durchlaufen werden muss.
Optimaler Seitenersetzungsalgorithmus Definition
Zu ersetzende Seite ist diejenige, die in Zukunft am längsten nicht mehr benötigt wird -> Vorhersage nicht möglich bzw. nicht praktikabel
Was sagen M - Bit und R - Bit aus?
◦ M-Bit zeigt an, ob eine Seite modifiziert wurde. In diesem Fall kann Sie nicht einfach ersetzt werden, ihr Inhalt muss zunächst gesichert, also in den Hintergrundspeicher geschrieben werden.
◦ R-Bit zeigt an, ob auf die Seite zugegriffen wurde, dh ob sie referenziert wurde.