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.