Speicherverwaltung. Kapitel VI. Adressbindung (2) Adressbindung (1) Speicherverwaltung
|
|
- Bastian Becker
- vor 6 Jahren
- Abrufe
Transkript
1 Speicherverwaltung Kapitel VI Speicherverwaltung Computer exekutiert Programme (mit Daten) im Hauptspeicher. Hauptspeicher: Großes Array von Wörtern ( oder mehrere Bytes) Jedes Wort hat eine eigene Adresse. Ausführungszyklus einer Programminstruktion: CPU holt Instruktion aus Hauptspeicher basierend auf Programmzähler. Instruktion wird dekodiert. Operanden werden von Hauptspeicher/Register geholt. Resultate werden im Hauptspeicher/Register gespeichert. Meistens werden mehrere Programme zugleich exekutiert. Hauptspeicher hat zuwenig Platz für alle Programme und Daten. Festplatte als Backup-Speicher für Hauptspeicher. 2 Adressbindung () Adressbindung (2) Programm liegt auf Festplatte als Binärcode. Programm wird geladen (von Festplatte in Hauptspeicher) und von Prozess exekutiert. Zur Übersetzungszeit Programmstartadresse im Speicher zur Übersetzungszeit bekannt. Kann absolute Adressen generieren Bei Änderung der Startadresse muss neu übersetzt werden. Prozesse, die darauf warten, geladen zu werden, befinden sich in der Eingabewarteschlange. Ein Prozess wird aus der Warteschlange ausgewählt und geladen. Prozess greift auf Instruktionen und Daten im Speicher zu. Prozess terminiert und gibt Speicher frei. Programm kann an vielen Stellen im Speicher geladen werden. Die Adressbindung von Instruktionen und Daten kann auf verschiedene Arten erfolgen. 3 Zur Ladezeit Startadresse des Programms nicht zur Übersetzungszeit bekannt. Übersetzer erzeugtrelocatablecode. Adressbindung erst zur Ladezeit Bei Änderung der Startadresse muss neu geladen werden. Zur Laufzeit Prozess kann während Exekution im Speicher verschoben werden. Adressbindung erst zur Laufzeit. Spezielle Hardware notwendig (dynamische Adressberechnung) 4
2 Verarbeitung eines Programms zur Übersetzungszeit Verarbeitung eines Programms zur Ladezeit Eingabeprogramm Symbolische Adressen z.b. Zähler Objektmodul Weitere Objektmodule Übersetzer oder Assembler Linker Objektmodul Relocatable Adressen z.b. 4 Bytes nach Beginn dieses Speichermoduls 5 Lademodul Lader Systembibliothek 6 Verarbeitung eines Programms zur Laufzeit Dynamisches Laden und Linken Dynamisches Laden: Lader Binärcode (Image) Dynamisch geladene Systembibliothek absolute Adressen 7 Dynamisches Laden, um Speicher optimal auszunützen Alle Routinen sind auf der Platte inrelocatableformat. Eine Code-Routine wird erst bei Gebrauch zur Laufzeit geladen. Dynamisches Linken (meist für Sprach- oder Systembibliotheken): Linken von Routinen mit Benutzerprogramm zur Laufzeit. Statt Routine wirdstub in den Binärcode inkludiert. Stub weiß wo sich Routine (bereits geladen) befindet, oder wie man Routine lädt. Stubersetzt sich selbst mit der Adresse der Routine und exekutiert diese. Bei der nächsten Verwendung einer Routine ist diese bereits im Speicher. 8
3 Overlays Logische und Physikalische Adressen Was ist, wenn ein Prozess mehr Speicher benötigt, als physikalisch verfügbar ist? Verwende Overlays : Lege nur jene Befehle im Speicher ab, die gerade benötigt werden. Alle anderen Befehle bleiben auf der Platte. Bei Bedarf ersetze geladene Befehle, die möglichst nicht mehr verwendet werden. Programme werden dazu in Segmente zerlegt. EinOverlayist eine Sequenz von Segmenten, die vollständig im Speicher exekutiert werden kann. 9 Logische (virtuelle) Adressen aus der Sicht der CPU Physikalische Adressen aus der Sicht des Speichers Logische Adressen werden zur Laufzeit von der Memory Management Unit (MMU) in physikalische Adressen übersetzt. MMU ist ein Hardware-Bauteil. CPU logische Adresse Relocation Register 4 + physikalische Adresse MMU Hauptspeicher Speicherverwaltung () Speicherverwaltung (2) Was tun, wenn der Hauptspeicher nicht ausreicht? Teil des Speichers könnte auf die Platte ausgelagert werden. Platte ist größer, dafür langsamer als der Hauptspeicher. Mehrere Programme zugleich im Speicher CPU ist besser ausgelastet (Prozess wird exekutiert, während andere Prozesse auf I/O warten) Mehrere Programme exekutieren zugleich. Übersetzer, Editor, Debugger Textverarbeitungs-, Spreadsheet- und Zeichenprogramm Prozesse müssen untereinander vor unerlaubtem Speicherzugriff geschützt werden. Verwende virtuelle Adressen Werden wie herkömmliche Adressen verwendet Hardware übersetzt diese in physikalische Adressen. 2 grundlegende Ansätze: Swapping virtueller Speicher Swapping jeder Prozess vollständig im Speicher läuft eine gewisse Zeit wird in den Hauptspeicher ausgelagert virtueller Speicher Teile eines Programms befinden sich im Speicher 2
4 Swapping () Swapping (2) Prozess muss sich im Hauptspeicher befinden, bevor er exekutiert wird. Swapping: Transfer von vollständigem Prozess aus Hauptspeicher in den Plattenspeicher und umgekehrt Prozess kann temporär auf Plattenspeicher ausgelagert werden: Multitasking gute Ausnutzung der CPU Laufzeiten sollen im Vergleich zu den Swap-Intervallen lang sein. Betriebssystem muss jederzeit die Größe des dynamisch alloziierten Speichers eines Programmes kennen. Prozesse mit hoher Priorität haben Vorrang. Swapping ist teuer! Zu wenig Hauptspeicher Swap-Speicher der Platte ist separater (getrennt von Filesystem) Bereich, um Zugriffszeiten zu optimieren. Prozess wird wieder von Platte in Hauptspeicher kopiert. 4 5 Swapping Änderung der Speicherallokation Speicherverwaltung mit Bitmaps oder Freibereichslisten Veränderung der Speicherallokation, wenn Prozess in den Hauptspeicher geladen wird Hauptspeicher verlässt 6 Teil eines Speichers mit 5 Prozessen und 3 Leerräumen Bit im Bitmap entspricht einer Einheit (Wörter, einige Kilobytes) freie Einheiten als schraffierte Flächen Bitmap versus verkettete Liste 7
5 Speicherverwaltung mit verketteten Listen Swapping dynamische Speicherblöcke 8 Speichervergabe für dynamisch wachsende Datensegmente Speichervergabe für wachsenden Stackund Datensegmente 9 Problem: dynamische Speichervergabe Swap-Space Erfüllen einer Speicheranfrage von n Bytes unter Verwendung der Freibereichsliste First-fit: erster Freibereich, der groß genug ist Best-fit: kleinster Freibereich, der groß genug ist; gesamte Liste muss durchsucht werden; sortiere Freibereich nach der Größe. Worst-fit: größter Freibereich; muss gesamte Liste durchsuchen. First-fit und Best-fit sind besser als Worst-fit im Bezug auf Geschwindigkeit und Speicherverbrauch. First-fit ist das schnellste Verfahren. 2 Wo befindet sich der Swap Space? Ist es ein normales File im File-System? Befindet es sich in einem speziellen Bereich auf der Platte? normales File einfache Lösung verhält sich wie ein File leicht zu ändern verwende herkömmliche Tools langsam wegen File-System-Overhead spezieller Plattenbereich Schneller Änderungen sind schwierig, da neuer Plattenbereich benötigt wird. 2
6 Paging Virtueller Speicher meist durch Paging implementiert Physikalischer Speicher (Haupt- und Plattenspeicher) wird in Blöcke (Frames - Seitenrahmen) gleicher Größe unterteilt. Logischer Speicher wird in Blöcke (Seiten) mit derselben Größe wie Frames unterteilt. Typische Seitengrößen liegen zwischen 52 Bytes und 6 MBytes Bei der Exekution eines Prozesses durch die CPU werden nur jene Seiten in den Speicher geladen, die tatsächlich verwendet werden. Zwischen Speicher und Platte werden immer ganze Seiten übertragen. Tabelle für die Adresskonvertierung von virtuellen in physikalische Adressen Betrachte eine 32-Bit Adresse 496 Byte Seiten (2 Bits für die Adressierung innerhalb der Seite) 2^2 Seiten (2 Bits) virtuelle Adresse 2 bits 2 bits Position Seiten- Tabelle Present Rd/Write + Haupt - speicher 22 Virtueller Speicher Paging 23 Paging Relation zwischen virtuellen und physikalischen Adressen Seitentabellen 24 MMU Adressumwandlung mit 6 4 KB Seiten 25
7 Vorteil der virtuellen Adressierung Programme können nicht zusammenhängende Bereiche eines physikalischen Speichers verwenden. Ein Programm kann nur auf seinen eigenen Speicherbereich (Seiten) zugreifen. Kann mehr virtuelle Seiten verwenden, als im physikalischen Speicher vorhanden sind. Seiten, die nicht in den Speicher passen, können auf der Platte gespeichert werden. Jedes Programm kann bei der (virtuellen) Adresse beginnen. Größe des Speichers unwichtig aus der Sicht des Programmierers 26 Paging Benutzer- versus Systemsicht Unterschied zwischen Adressbereich den der Benutzer sieht, und dem tatsächlichen physikalischen Speicher Für den Benutzer: kontinuierlicher Speicher ohne Lücken Tatsächlich: Benutzerprogramm über physikalischen Speicher verstreut Hardware-Adressierungsmodus als Schnittstelle zwischen beiden Adressbereichen Paging nutzt den Speicher optimal aus, da Seiten nicht kontinuierlich im Speicher abgelegt sein müssen. 27 Paging Seitengrößen: Vor- u. Nachteile Normalerweise hat jeder Prozess seine eigene Seitentabelle. Eintrag pro Seite, die der Prozess verwendet Betriebssystem verwaltet physikalischen Speicher. Seitengrößen mit Vor- und Nachteilen Prozesse benötigen nicht immer das Vielfache einer Seite als Speicher. Letzte Seite meist mit Redundanz Kleine Seitengrößen bedeuten weniger Redundanz. Je kleiner die Seiten, desto größer die Seitentabellen Mehr Aufwand für Verwaltung der Seitentabellen Transfer von Frames aus Plattenspeicher effizienter für große Seiten 28 Probleme mit Seitentabellen Eine Seitentabelle kann sehr groß werden. 2 2 Einträge für die meisten Programme. Wobei die meisten Einträge leer sind. Beachte, dass jeder Prozess eigene Seitentabelle hat. Lösung : Verwende eine Hierarchie von Seitentabellen (Pagen der Seitentabelle). Virtuelle Adresse bits Seitenverzeichnis Pg Tbl Ptr bits 2 bits Seitentabelle physik. Seitennr. + Hauptspeicher 29
8 Invertierte Seitentabellen Lösung 2: Tabelle (invertierte Seitentabelle) für alle Prozesse statt eigener Tabelle für jeden Prozess Wenn eine Speicheradresse von der CPU <prozess-id, seiten-nr, offset> angesprochen wird, so wird die invertierte Seitentabelle durchsucht (Hash-Funktion). Ein Eintrag pro Seite des physikalischen Speichers in inv. Tabelle <prozess-id, seiten-nr> Prozess-Id gibt an, wem die Seite gehört. Wenn ein Eintrag in der invertierten Seitentabelle gefunden wird, dann generiere die physikalische Adresse <i, offset>. Die invertierte Seitentabelle speichert keine Informationen über Seiten, die nicht im Hauptspeicher sind. Zugriffszeiten sind länger wegen Hash-Suchvorgang. 3 CPU Invertierte Seitentabelle: Beispiel PID Seiten # Offset virtuelle Adr. Hash Funktion i invertierte Seitentabelle PID Seiten # Seitentabelle pro System i Offset Physikal. Adr. Haupt - Speicher 3 Schnellere Abbildung von virtuellem auf physikalischen Speicher Benötige Hardware für die Konvertierung von virtuellen in physikalische Adressen kann mehrere Speicherzugriffe verursachen (Tabelle + Adresse) Geschwindigkeit kann problematisch sein. Lösung:TranslationLook-Aside Buffer (TLB) als HW-cache Speichert bereits gefundene Adressabbildungen Zusätzlich zur Seitentabelle, die im Speicher ist Assoziative Tabelle für die Adresskonvertierung Normalerweise 8 bis 496 Einträge valid virtual page physical page 2 bits 2 bits Intel x86 32 Gemeinsamer Speicher Gemeinsame Verwendung von Seiten Mehrere Prozesse verwenden denselben Code oder dieselben Daten. Mehrere Seiten können mit dem selben Frame assoziiert sein. Bei read-only-daten ist das Teilen von Seiten immer sicher. Schreiboperationen auf gemeinsamen Seiten sind problematisch. Copy-on-write: Seiten werden häufig gemeinsam verwendet, bis ein Prozess eine Schreiboperation ausführt. Beim Schreiben einer gemeinsame Seite wird ein neuer Frame angelegt. Schreibender Prozess besitzt modifizierte Seite. Alle anderen Prozesse besitzen Originalseite. Synchronisiere Zugriff auf gemeinsame Seite. z.b. Semaphore 33
9 Virtuelle Adresse ohne physikalische Adresse: Seitenfehler Das nennt man einen Page Fault (Seitenfehler). SoftwareInterrupt (Trap) in das Betriebssystem aus der Hardware Verursacht durch: Erste Verwendung einer Seite (Demand Paging) Betriebssystem holt Seite von Platte, und Prozess macht weiter. Lese Daten von der Platte oder initialisiere Datenseite mit. Referenz auf eine ungültige Seite Programm wird mit einer Segmentation Violationterminiert. Seite ist auf der Platte. Hole Seite von Platte, lade diese in eine physikalische Seite des Hauptspeichers, und setze mit dem Programm fort. Copy-on-Write Seite (neuer Frame bei Schreiboperation) 34 Zustand von Seiten (Hardware Perspektive) Seiten-Frame Zähler (Position der Seite im Speicher oder auf der Platte) Valid Bit Seite im Hauptspeicher vorhanden Modifyoder DirtyBit Von Hardware beim Schreiben einer Seite gesetzt Spezifiziert ob der Inhalt einer Seite seit dem Laden in den Hauptspeicher geändert worden ist. Wenn Seite nicht verändert worden ist, muss die Seite nicht auf die Platte geschrieben werden (um Platz für andere Seiten zu machen). Reference (Use) Bit Von Hardware beim Lesen oder Schreiben gesetzt Vom Betriebssystem änderbar Kann für Ersetzungsalgorithmen von Seiten verwendet werden. Sicherungsattribute (Protection) lesen, schreiben, ausführen 35 Betriebssystem Sicherungsattribute (Windows) NOACCESS: Lesen, Schreiben oder Ausführen verursacht Access Violation(Verletzung von Zugriffsrechten). READONLY: Schreiben oder Ausführen dieser Speicherregion verursacht Access Violation. READWRITE: Ausführen dieser Speicherregion verursacht Access Violation. EXECUTE: Lesen oder Schreiben dieser Speicherregion verursachen Access Violation. EXECUTE_READ: Schreiben dieser Speicherregion verursachen Access Violation. EXECUTE_READ_WRITE: Keine Aktion bei dieser Seite. WRITE_COPY: Betriebssystem gibt Prozess eigene Kopie einer Seite bei einem Schreibversuch. Bei einem Versuch der Ausführung wird Access Violation verursacht. EXECUTE_WRITE_COPY: Betriebssystem gibt Prozess eigene Kopie einer Seite bei einem Schreibversuch. Kann keine Access Violation verursachen. 36 Behandlung von Seitenfehlern Überprüfe, ob Adresse gültig ist. Wenn nicht, dann terminiere diesen Prozess. Finde Frame für die Seite. Wenn kein Frame frei, muss der Inhalt eines Frames auf Platte ausgelagert werden. Lade Seite von der Platte Während diese Seite geladen wird, können andere Prozesse exekutiert werden. Modifiziere Seitentabelleneintrag für diese Seite. Starte die Instruktion neu, die zu Seitenfehler geführt hat. Hardware beendet solche Instruktionen. Kehre zur korrekten Position ausgehend vom Trap zurück. 37
10 Seitenfehler ohne zusätzliche physikalische Seite Algorithmus für das Ersetzen von Seiten Optimale Strategie (OPT) Muss eine Seite aus Hauptspeicher entfernen. Eine dirtyseite muss zuerst auf die Platte gespeichert werden. DirtySeiten wurden seit Transfer von Platte geschrieben. Welche Seite soll aus Hauptspeicher entfernt werden? Brauche passenden Algorithmus globale Seite (gehört anderem Prozess) lokale Seite (gehört dem Prozess mit Seitenfehler) 38 ersetzt die Seite, deren nächste Referenz am weitesten in der Zukunft liegt erzeugt die wenigsten-seitenfehler keine reale Strategie wird zur Bewertung anderer Strategien herangezogen 39 Beispiel für OPT (Speicher mit 3 Frames) Zugriffsmuster:,2,3,4,,2,5,,2,3,4,5 Zugriff () nicht vorhanden Zugriff 2 (,2) nicht vorhanden Zugriff 3 (,2,3) nicht vorhanden Zugriff 4 (,2,4) nicht vorhanden, ersetze Zugriff (,2,4) vorhanden Zugriff 2 (,2,4) vorhanden Zugriff 5 (,2,5) nicht vorhanden, ersetze Zugriff (,2,5) vorhanden Zugriff 2 (,2,5) vorhanden Zugriff 3 (3,2,5) nicht vorhanden, ersetze Zugriff 4 (4,2,5) nicht vorhanden, ersetze Zugriff 5 (4,2,5) vorhanden 6 Seitenfehler 4 Algorithmus für das Ersetzen von Seiten FIFO Ersetze die älteste Seite im Hauptspeicher. Aufpassen: Auf alte Seiten kann häufig zugegriffen werden. Anzahl der Seitenfehler kann stark ansteigen, wenn die Anzahl der Frames erhöht wird - Belady s Anomaly. einfache Implementierung: Pointer, der zyklisch überdie Seitenrahmen des Prozesses wandert. 4
11 Algorithmus für das Ersetzen von Seiten LRU (least-recently-used) Ersetze die Seite, die am längsten nicht verwendet worden ist. Annahme: Seite wird auch in der Zukunft nicht referenziert (Lokalitätsprinzip) Anzahl der Seitenfehler kaum höher als bei OPT Implementierung kann teuer sein. Verwalte Stack, wobei jedes Stack-Element einer Seite entspricht. Seite kommt auf Top-of-Stack, wenn diese angesprochen wird. Jede Seite bekommt Zeitstempel. 42 Beispiel für FIFO (Speicher mit 3 Frames) Zugriffsmuster:,2,3,4,,2,5,,2,3,4,5 Zugriff () nicht vorhanden Zugriff 2 (,2) nicht vorhanden Zugriff 3 (,2,3) nicht vorhanden Zugriff 4 (2,3,4) nicht vorhanden, ersetze Zugriff (3,4,) nicht vorhanden, ersetze Zugriff 2 (4,,2) nicht vorhanden, ersetze Zugriff 5 (,2,5) nicht vorhanden, ersetze Zugriff (,2,5) vorhanden Zugriff 2 (,2,5) vorhanden Zugriff 3 (2,5,3) nicht vorhanden, ersetze Zugriff 4 (5,3,4) nicht vorhanden, ersetze Zugriff 5 (5,3,4) vorhanden 9 Seitenfehler 43 Beispiel für FIFO (Speicher mit 4 Frames) Zugriffsmuster:,2,3,4,,2,5,,2,3,4,5 Beispiel für LRU (Speicher mit 3 Frames) Zugriffsmuster:,2,3,4,,2,5,,2,3,4,5 Zugriff () nicht vorhanden Zugriff 2 (,2) nicht vorhanden Zugriff 3 (,2,3) nicht vorhanden Zugriff 4 (,2,3,4) nicht vorhanden Zugriff (,2,3,4) vorhanden Zugriff 2 (,2,3,4) vorhanden Zugriff 5 (2,3,4,5) nicht vorhanden, ersetze Zugriff (3,4,5,) nicht vorhanden, ersetze Zugriff 2 (4,5,,2) nicht vorhanden, ersetze Zugriff 3 (5,,2,3) nicht vorhanden, ersetze Zugriff 4 (,2,3,4) nicht vorhanden, ersetze Zugriff 5 (2,3,4,5) nicht vorhanden, ersetze Seitenfehler 44 Zugriff () nicht vorhanden Zugriff 2 (,2) nicht vorhanden Zugriff 3 (,2,3) nicht vorhanden Zugriff 4 (2,3,4) nicht vorhanden, ersetze Zugriff (3,4,) nicht vorhanden, ersetze Zugriff 2 (4,,2) nicht vorhanden, ersetze Zugriff 5 (,2,5) nicht vorhanden, ersetze Zugriff (2,5,) vorhanden Zugriff 2 (5,,2) vorhanden Zugriff 3 (,2,3) nicht vorhanden, ersetze Zugriff 4 (2,3,4) nicht vorhanden, ersetze Zugriff 5 (3,4,5) nicht vorhanden, ersetze Seitenfehler 45
12 Beispiel für LRU (Speicher mit 4 Frames) Zugriffsmuster:,2,3,4,,2,5,,2,3,4,5 Zugriff () nicht vorhanden Zugriff 2 (,2) nicht vorhanden Zugriff 3 (,2,3) nicht vorhanden Zugriff 4 (,2,3,4) nicht vorhanden Zugriff (2,3,4,) Zugriff 2 (3,4,,2) Zugriff 5 (4,,2,5) nicht vorhanden, ersetze Zugriff (4,2,5,) Zugriff 2 (4,5,,2) Zugriff 3 (5,,2,3) nicht vorhanden, ersetze Zugriff 4 (,2,3,4) nicht vorhanden, ersetze Zugriff 5 (2,3,4,5) nicht vorhanden, ersetze 8 Seitenfehler 46 Algorithmus für das Ersetzen von Seiten Clock Policy FIFO-Variante Ringpuffer mit Frames, die für Austausch in Frage kommen + Positionszeiger nach Seitenfehler: Zeiger wird auf den folgenden Frame im Ringpuffer gesetzt Use Bit pro Frame, wird auf gesetzt, wenn Seite geladen oder referenziert wird bei Seitenfehler: Suche erste Seite abzeigerpos. mit Use Bit = Diese Seite wird ausgelagert und neue Seite auf dieser Position abgelegt. Setze dabei Use Bits mit Wert von auf 47 Clock Policy Resident Set Resident Set: Seiten eines Prozesses, die sich im Hauptspeicher befinden Größe des Resident Set: Wie viele Frames sollen dem Prozess zugeteilt werden? kaum mehr Seitenfehler als LRU mehr Frames pro Prozess: bessere Annäherung an LRU wenn alle Use Bits gesetzt sind --> FIFO 48 wenige Frames -> viele Seitenfehler viele Frames -> reduziere Anzahl der Prozesse im Hauptspeicher (Einschränkung der Parallelität) Fixed Allocation Variable Allocation 49
13 Working Set und Seitenersetzung Working Set Strategie () Programme haben in der Regel Lokalität von Referenzen. temporäre Lokalität Wiederholter Zugriff auf dieselbe Speicherposition räumliche Lokalität Zugriffe auf Speicherpositionen, die nahe beieinander liegen Design von Speicherhierarchien hängt stark von Lokalität ab. Working Set Menge von Seiten in den letzten N Seitenreferenzen Approximation der Lokalität eines Programms. Klein Sehr schnell Größe des Working Sets Groß Sehr langsam 5 Variable Allokation von Seiten für einen Prozess basierend auf Lokalitätsannahme Working Set eines Prozesses zum Zeitpunkt t: W(k, t) = Anzahl der Seiten des Prozesses, auf die in den letzten k virtuellen Zeiteinheiten zugegriffen wurde virtuelle Zeit: bezieht sich auf bestimmten Prozess k Zeitfenster (Windowof Time) W(k, t) beschreibt Lokalität des Prozesses 5 Working Set Strategie (2) Working Set Strategie: ein Beispiel Seitenreferenztabelle k= k= t W(k, t ) = {,2,5,6,7} W(k, t 2 ) = {3,4} t k 52 schlechte Lokalität gute Lokalität Wenn der Working Set eines Prozesses mehr Seiten umfasst, als Frames zur Verfügung stehen, dann kommt es zum Trashing. 53
14 Working Set Strategie (3) Working Set Strategie (4) Ermittlung der Größe des Resident Set: Beobachtung des Working Set der Prozesse Periodisches Löschen der Seiten, die sich nicht im Working Set befinden Wenn Resident Set < Working Set Anfrage nach fehlenden Frames vom Betriebssystem sind nicht genügend Frames verfügbar, suspendiere einen Prozess und probiere Allokation später nochmals Working Set Strategie versucht Trashing zu verhindern und maximiert Grad des Multiprogrammierens. 56 Probleme bei der Realisierung: Mitloggen der Zugriffe auf Seiten Ordnen der Seitenzugriffe optimales k ist zur Laufzeit unbekannt und variiert Verhindern von Trashing: Beobachtung der Anzahl der Seitenfehler pro Prozess statt Working Set 57 Überblick: Seitenersetzungsalgorithmen Thrashing Virtueller Speicher kann zu hohen Speicherzugriffskosten führen. Thrashing: Wenn ein Prozess nicht genügendframes hat, kann das System die gesamte Zeit dazu verwenden, Seiten von der Platte in den Hauptspeicher zu laden und umgekehrt. Muss versuchen, oder mehrere Prozesse auszulagern (Swapping). 58 Swapping Schreibe den gesamten Speicher eines Prozesses auf die Platte Vermeide Ausführung dieses Prozesses für eine Weile. Woher weiß man, wann Thrashing stattfindet? Überprüfe Auslastung der CPU und das Auslagern von Seiten (Paging). Geringe Auslastung der CPU + hohe Paging Rate bedeutet Thrashing. 59
15 Vermeiden von Thrashing Segmentierung () Versuche den Working Set im Hauptspeicher zu halten Wenn die Anzahl derworking Sets aller Prozesse im Hauptspeicher größer als die Anzahl der zur Verfügung stehenden Framesist, muss ein Prozess ausgelagert werden. Berechung von Working Sets Abschätzung durch Use-Bit 6 Segmentierung: Jeder Prozess bekommt mehrere unabhängige geschützte Speicherbereiche (Segment) mit unterschiedlicher Länge. Segmente enthalten Code und/oder Daten. Beim Laden des Prozesses werden seine Segmente beliebig im Speicher positioniert. Segmenttabelle pro Prozess: für jedes Segment Eintrag (Start, Länge) Zugriff auf Segment wird kontrolliert: Zugriffspriorität, Zugriffsrechte (Schreiben, Lesen, etc.) Überlappende und nicht-überlappende Segmente sind möglich: Nicht-überlappende Segmente um Programmfehlern entgegenzuwirken Separater Code und Daten-Stack-Segmente 62 Segmentierung (2) -dimensionaler Adressraum Nicht-überlappende Segmente können verwendet werden, um erweiterten Adressbereich zu realisieren: 6-Bit-Architekturen (886 Prozessor) haben Segmente mit 6- Bit Adressen Verteilte Netzwerke mit mehreren 32-Bit Maschinen können Segmentierung verwenden, um einen einheitlich großen Adressraum zu realisieren. Segmente können identische Adressbereiche realisieren. Windows NT und Windows95 verwenden 4Gbyte Codesegmente, Stack-Segmente und Datensegmente Mehrere Prozesse (Threads) können gemeinsamen Speicher verwenden. 63 -dim Adressraum mit wachsenden Tabellengrößen Tabellen wachsen ineinander 64
16 Segmentierung separate Segmente: 2-dim. Adressbereich Paging versus Segmentierung Jede Tabelle kann unabhängig von anderen Tabellen wachsen und schrumpfen Implementierung einer konventionellen Segmentierung Zusammenfassung Partitionierung des Hauptspeichers Aufteilung auf meherereprozesse Relocation logische Adressierung (a)-(d) Checkerboarding (e) Bereinigung des Checkerboarding durch Verdichtung 67 Virtual Memory logischer Speicher > physikalischer Speicher Paging, Segmentierung Adressübersetzungstabellen und -hardware Lade- und Austauschstrategien 73
Kapitel VI. Speicherverwaltung. Speicherverwaltung
Kapitel VI Speicherverwaltung 1 Speicherverwaltung Computer exekutiert Programme (mit Daten) im Hauptspeicher. Hauptspeicher: Großes Array von Wörtern (1 oder mehrere Bytes) Jedes Wort hat eine eigene
MehrMemory Management. Peter Puschner Institut für Technische Informatik peter@vmars.tuwien.ac.at
Memory Management Peter Puschner Institut für Technische Informatik peter@vmars.tuwien.ac.at 1 Speicherverwaltung Effektive Aufteilung und Verwaltung des Arbeitsspeichers für BS und Programme Anforderungen
MehrTutorium Rechnerorganisation
Woche 11 Tutorien 3 und 4 zur Vorlesung Rechnerorganisation 1 Christian A. Mandery: KIT Universität des Landes Baden-Württemberg und nationales Grossforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu
MehrSpeicherverwaltung (Swapping und Paging)
Speicherverwaltung (Swapping und Paging) Rückblick: Segmentierung Feste Einteilung des Speichers in einzelne Segmente 750k 0 Rückblick: Segmentierung Feste Einteilung des Speichers in einzelne Segmente
MehrPaging. Einfaches Paging. Paging mit virtuellem Speicher
Paging Einfaches Paging Paging mit virtuellem Speicher Einfaches Paging Wie bisher (im Gegensatz zu virtuellem Speicherkonzept): Prozesse sind entweder ganz im Speicher oder komplett ausgelagert. Im Gegensatz
MehrTechnische Informatik II Wintersemester 2002/03 Sommersemester 2001. Heiko Holtkamp Heiko@rvs.uni-bielefeld.de
Technische Informatik II Wintersemester 2002/03 Sommersemester 2001 Heiko Holtkamp Heiko@rvs.uni-bielefeld.de Speicher ist eine wichtige Ressource, die sorgfältig verwaltet werden muss. In der Vorlesung
MehrWie groß ist die Page Table?
Wie groß ist die Page Table? Im vorigen (typischen) Beispiel verwenden wir 20 Bits zum indizieren der Page Table. Typischerweise spendiert man 32 Bits pro Tabellen Zeile (im Vorigen Beispiel brauchten
MehrLinker: Adreßräume verknüpfen. Informationen über einen Prozeß. Prozeß-Erzeugung: Verwandtschaft
Prozeß: drei häufigste Zustände Prozeß: anatomische Betrachtung jeder Prozeß verfügt über seinen eigenen Adreßraum Sourcecode enthält Anweisungen und Variablen Compiler überträgt in Assembler bzw. Binärcode
MehrEinführung in die technische Informatik
Einführung in die technische Informatik Christopher Kruegel chris@auto.tuwien.ac.at http://www.auto.tuwien.ac.at/~chris Betriebssysteme Aufgaben Management von Ressourcen Präsentation einer einheitlichen
MehrLinux Paging, Caching und Swapping
Linux Paging, Caching und Swapping Inhalte Paging Das Virtuelle Speichermodell Die Page Table im Detail Page Allocation und Page Deallocation Memory Mapping & Demand Paging Caching Die verschiedenen Caches
MehrVirtueller Speicher. SS 2012 Grundlagen der Rechnerarchitektur Speicher 44
Virtueller Speicher SS 2012 Grundlagen der Rechnerarchitektur Speicher 44 Die Idee Virtuelle Adressen Prozess 1 Speicherblock 0 Speicherblock 1 Speicherblock 2 Speicherblock 3 Speicherblock 4 Speicherblock
MehrBetriebssysteme. Dipl.-Ing.(FH) Volker Schepper
Speicherverwaltung Real Mode Nach jedem starten eines PC befindet sich jeder x86 (8086, 80386, Pentium, AMD) CPU im sogenannten Real Mode. Datenregister (16Bit) Adressregister (20Bit) Dadurch lassen sich
MehrSpeicher Virtuelle Speicherverwaltung. Speicherverwaltung
Speicherverwaltung Die Speicherverwaltung ist derjenige Teil eines Betriebssystems, der einen effizienten und komfortablen Zugriff auf den physikalischen Arbeitsspeicher eines Computer ermöglicht. Je nach
Mehrwichtigstes Betriebsmittel - neben dem Prozessor: Speicher
Speicherverwaltung Aufgaben der Speicherverwaltung wichtigstes Betriebsmittel - neben dem Prozessor: Speicher Sowohl die ausführbaren Programme selbst als auch deren Daten werden in verschiedenen Speicherbereichen
MehrÜbung zu Grundlagen der Betriebssysteme. 13. Übung 22.01.2012
Übung zu Grundlagen der Betriebssysteme 13. Übung 22.01.2012 Aufgabe 1 Fragmentierung Erläutern Sie den Unterschied zwischen interner und externer Fragmentierung! Als interne Fragmentierung oder Verschnitt
MehrKapitel 6 Speicherverwaltung Seite 1 zum Teil nach: Silberschatz&Galbin, Operating System Concepts, Addison-Wesley)
Kapitel 6 Speicherverwaltung Seite 1 6 Speicherverwaltung 6.1 Hintergrund Ein Programm muß zur Ausführung in den Hauptspeicher gebracht werden und in die Prozeßstruktur eingefügt werden. Dabei ist es in
MehrEchtzeit-Multitasking
Technische Informatik Klaus-Dieter Thies Echtzeit-Multitasking Memory Management und System Design im Protected Mode der x86/pentium-architektur. Shaker Verlag Aachen 2002 Die Deutsche Bibliothek - CIP-Einheitsaufnahme
MehrBetriebssysteme I WS 2013/2014. Betriebssysteme / verteilte Systeme rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404
Betriebssysteme I WS 213/214 Betriebssysteme / verteilte Systeme rolanda.dwismuellera@duni-siegena.de Tel.: 271/74-45, Büro: H-B 844 Stand: 2. Januar 214 Betriebssysteme / verteilte Systeme Betriebssysteme
Mehr8. Swapping und Virtueller Speicher
8. Swapping und Virtueller Speicher Der physikalische Adreßraum wird weiter abgebildet auf Arbeitsspeicher und Plattenspeicher. Prozesse (deren benutzte Seiten) die nicht laufen (und bald nicht laufen)
Mehr4.3 Hintergrundspeicher
4.3 Hintergrundspeicher Registers Instr./Operands Cache Blocks Memory Pages program 1-8 bytes cache cntl 8-128 bytes OS 512-4K bytes Upper Level faster Disk Tape Files user/operator Mbytes Larger Lower
MehrBetriebssysteme 1. Thomas Kolarz. Folie 1
Folie 1 Betriebssysteme I - Inhalt 0. Einführung, Geschichte und Überblick 1. Prozesse und Threads (die AbstrakFon der CPU) 2. Speicherverwaltung (die AbstrakFon des Arbeitsspeichers) 3. Dateisysteme (die
MehrÜbung zu Einführung in die Informatik # 10
Übung zu Einführung in die Informatik # 10 Tobias Schill tschill@techfak.uni-bielefeld.de 15. Januar 2016 Aktualisiert am 15. Januar 2016 um 9:58 Erstklausur: Mi, 24.02.2016 von 10-12Uhr Aufgabe 1* a),
Mehr5.5.5 Der Speicherverwalter
5.5.5 Der Speicherverwalter Speicherverwalter (memory manager) reagiert auf = im einfachsten Fall ein Systemprozess, der für die Umlagerung der Seiten (page swapping) zuständig ist (analog zum Umlagerer/Swapper)
MehrSysteme I: Betriebssysteme Kapitel 8 Speicherverwaltung
Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung Version 11.01.2017 1 Inhalt Vorlesung Aufbau einfacher Rechner Überblick: Aufgabe, historische Entwicklung, unterschiedliche Arten von Betriebssystemen
Mehr(Prof. Dr. J. Schlichter, WS 2011 / 2012) Übungsleitung: Dr. Wolfgang Wörndl
Übung zur Vorlesung Grundlagen Betriebssysteme und Systemsoftware (Prof. Dr. J. Schlichter, WS 2011 / 2012) Übungsleitung: Dr. Wolfgang Wörndl (gbs-ws11@mailschlichter.informatik.tu-muenchen.de) http://www11.in.tum.de/veranstaltungen/grundlagenbetriebssystemeundsystemsoftwarews1112
MehrTechnische Informatik 2 Speichersysteme, Teil 3
Technische Informatik 2 Speichersysteme, Teil 3 Prof. Dr. Miroslaw Malek Sommersemester 2004 www.informatik.hu-berlin.de/rok/ca Thema heute Virtueller Speicher (Fortsetzung) Translation Lookaside Buffer
MehrDefinitionen zum Verschnitt
Definitionen zum Verschnitt Die absoluten Größen haben eine Einheit. Beim Bilden der Verhältnisgrößen wird die Einheit gekürzt. Man kann bei den Verhältnisgrößen die Größe durch die Anzahl vorgegebener
MehrTechnische Informatik 2 Speichersysteme, Teil 2
Technische Informatik 2 Speichersysteme, Teil 2 Prof. Dr. Miroslaw Malek Sommersemester 2009 www.informatik.hu-berlin.de/rok/ca Thema heute Virtueller Speicher Virtueller Seitenspeicher Seitenregister
MehrEnterprise Computing Einführung in das Betriebssystem z/os. Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth WS2012/13
UNIVERSITÄT LEIPZIG Enterprise Computing Einführung in das Betriebssystem z/os Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth WS2012/13 Verarbeitungsgrundlagen Teil 2 Virtual Storage el0100 copyright
MehrRechnernutzung in der Physik. Betriebssysteme
Rechnernutzung in der Physik Betriebssysteme 1 Betriebssysteme Anwendungsprogramme Betriebssystem Treiber BIOS Direkter Zugriff von Anwenderprogrammen auf Hardware nur in Ausnahmefällen sinnvoll / möglich:
MehrSysteme I: Betriebssysteme Kapitel 4 Prozesse. Maren Bennewitz
Systeme I: Betriebssysteme Kapitel 4 Prozesse Maren Bennewitz Version 20.11.2013 1 Begrüßung Heute ist Tag der offenen Tür Willkommen allen Schülerinnen und Schülern! 2 Wdhlg.: Attributinformationen in
MehrGrundlagen der Rechnerarchitektur
Grundlagen der Rechnerarchitektur Speicher Übersicht Speicherhierarchie Cache Grundlagen Verbessern der Cache Performance Virtueller Speicher SS 2012 Grundlagen der Rechnerarchitektur Speicher 2 Speicherhierarchie
Mehr1. Speicher. Typische Nutzung eines Adreßraums. Systemsoftware. Textbereich relativ klein. Sehr großer Abstand zwischen Heap und Stack
1. Speicher 1 Typische Nutzung eines Adreßraums Textbereich relativ klein Sehr großer Abstand zwischen Heap und Stack Keine Verunreinigungen durch: E/A-Bereiche nicht bestückte Adreßbereiche fremde Kontrollflüsse
Mehr(a) Wie unterscheiden sich synchrone und asynchrone Unterbrechungen? (b) In welchen drei Schritten wird auf Unterbrechungen reagiert?
SoSe 2014 Konzepte und Methoden der Systemsoftware Universität Paderborn Fachgebiet Rechnernetze Präsenzübung 2 2014-04-28 bis 2014-05-02 Aufgabe 1: Unterbrechungen (a) Wie unterscheiden sich synchrone
MehrBetriebssysteme I: Speicherverwaltung (Teil A: Adress-Bindung)
Betriebssysteme I: Speicherverwaltung (Teil A: Adress-Bindung) Mühlbacher BS: Speicherverwaltung TeilA Adressbindung,Loader, Linker 1 Ausgangssituation Programm ist auf einem Massenspeicher als binary
MehrSysteme I: Betriebssysteme Kapitel 8 Speicherverwaltung. Maren Bennewitz
Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung Maren Bennewitz Version 13.2.213 1 Inhalt Vorlesung Aufbau einfacher Rechner Überblick: Aufgabe, Historische Entwicklung, unterschiedliche Arten
MehrSysteme I: Betriebssysteme Kapitel 8 Speicherverwaltung. Maren Bennewitz
Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung Maren Bennewitz Version 5.2.214 1 Inhalt Vorlesung Aufbau einfacher Rechner Überblick: Aufgabe, Historische Entwicklung, unterschiedliche Arten von
MehrGrundlagen Rechnerarchitektur und Betriebssysteme
Grundlagen Rechnerarchitektur und Betriebssysteme Johannes Formann Definition Computer: Eine Funktionseinheit zur Verarbeitung von Daten, wobei als Verarbeitung die Durchführung mathematischer, umformender,
MehrTechnische Informatik I. Übung 3 Speicherhierarchie. v t d 0 d 1 d 2 d 3 0 1 2 3. Technische Informatik I Übung 3. Technische Informatik I Übung 3
Institut für Kommunikationsnetze und Rechnersysteme Technische Informatik I Paul J. Kühn, Matthias Meyer Übung 3 Speicherhierarchie Inhaltsübersicht Aufgabe 3.1 Daten-Cache Aufgabe 3.2 Virtueller Speicher
MehrGrundlagen der Informatik III Wintersemester 2010/2011
Grundlagen der Informatik III Wintersemester 21/211 Wolfgang Heenes, atrik Schmittat 12. Aufgabenblatt mit Lösungsvorschlag 7.2.211 Hinweis: Der Schnelltest und die Aufgaben sollen in den Übungsgruppen
MehrBetriebssysteme Übung 2. Tutorium System Calls & Multiprogramming
Betriebssysteme Übung 2. Tutorium System Calls & Multiprogramming Task Wiederholung 1 System SysCalls (1) Wozu? Sicherheit Stabilität Erfordert verschiedene modes of execution: user mode privileged mode
Mehr6 Speicherverwaltung
6 Speicherverwaltung 6.1 Hintergrund Ein Programm muß zur Ausführung in den Hauptspeicher gebracht werden und in die Prozeßstruktur eingefügt werden. Dabei ist es in mehreren Schritten zu modifizieren.
MehrComputer-Systeme Teil 15: Virtueller Speicher
Computer-Systeme Teil 15: Virtueller Speicher Computer-Systeme WS 12/13 - Teil 15/Virtueller Speicher 14.01.2013 1 Übersicht Segmente Systemaufrufe Swapping Paging Computer-Systeme WS 12/13 - Teil 15/Virtueller
MehrKonzepte von Betriebssystemkomponenten Disk-Caches und Dateizugriff
Konzepte von Betriebssystemkomponenten Disk-Caches und Dateizugriff von Athanasia Kaisa Grundzüge eines Zwischenspeichers Verschiedene Arten von Zwischenspeicher Plattenzwischenspeicher in LINUX Dateizugriff
MehrSysteme 1. Kapitel 3 Dateisysteme WS 2009/10 1
Systeme 1 Kapitel 3 Dateisysteme WS 2009/10 1 Letzte Vorlesung Dateisysteme Hauptaufgaben Persistente Dateisysteme (FAT, NTFS, ext3, ext4) Dateien Kleinste logische Einheit eines Dateisystems Dateitypen
MehrAnbindung zum Betriebssystem (BS)
5.1 Einleitung Anbindung zum Betriebssystem (BS) Aufgaben BS Schnittstelle zur Hardware Sicherstellung des Betriebs mit Peripherie Dienste erfüllen für Benutzung Rechner durch Verwaltung der Ressourcen
MehrBanner T 1 T 2. Bild T 7 T 8. Fließtext T 9
Name, Vorname: Matrikel-Nr.: Aufgabe 1 Wir schreiben das Jahr 2010. Ein Desktop-System mit drei identischen Prozessoren P = {P 1, P 2, P 3 } wird zur Darstellung einer Webseite verwendet. Insgesamt neun
MehrVirtuelle Speicherverwaltung
Virtuelle Speicherverwaltung Konzepte von -Komponenten Lehrstuhl für Informatik 4 Verteilte Systeme und e Sommersemester 2005 Olessia Usik olessia@freenet.de 20. Juni 2005 Gliederung 1 Einleitung 2 Swapping
MehrKapitel 9 Hauptspeicherverwaltung
Kapitel 9 Hauptspeicherverwaltung Einführung: Speicher als Betriebsmittel Speicherkapazität wächst ständig ein PC heute hat 1000 mal soviel Speicher wie 1965 der größte Computer der Welt Anwendungsprogramme
MehrWenn alle Referenzbits gleich 1, wird nach FIFO entschieden
4 Second Chance (5) Second chance zeigt FIFO Anomalie Wenn alle Referenzbits gleich 1, wird nach FIFO entschieden Erweiterung Modifikationsbit kann zusätzlich berücksichtigt werden (Dirty bit) vier Klassen:
MehrGrundlagen der Betriebssysteme
Grundlagen der Betriebssysteme [CS2100] Sommersemester 2014 Heiko Falk Institut für Eingebettete Systeme/Echtzeitsysteme Ingenieurwissenschaften und Informatik Universität Ulm Kapitel 6 Speicherverwaltung
Mehr, SS2012 Übungsgruppen: Do., Mi.,
VU Technische Grundlagen der Informatik Übung 7: Speicher und Peripherie 183.579, SS2012 Übungsgruppen: Do., 31.05. Mi., 06.06.2012 Aufgabe 1: Ihre Kreativität ist gefragt! Um die Qualität der Lehrveranstaltung
Mehr1. Von-Neumann-Architektur (7/66 Punkte)
Fakultät Informatik/Mathematik Seite 1/8 Datum: 23.12.2010 Name: Vorname: Arbeitszeit: 60 Minuten Matr.-Nr.: Hilfsmittel: alle eigenen Unterschrift: wird vom Prüfer ausgefüllt 1 2 3 4 5 6 7 8 9 Diese hat
MehrPraktikum Informatik 2: Betriebssysteme und Rechnernetze
Praktikum Informatik 2: Betriebssysteme und Rechnernetze Thema: 4. Speicherverwaltung Datum: 19.03.2008 vorgelegt von: Antje Stoppa Carsten Erdmann Andr é Hartwig Ulrike Saretzki Inhaltsverzeichnis 1 Motivation
MehrBetriebssysteme (BTS)
.Vorlesung Betriebssysteme (BTS) Christian Baun cray@unix-ag.uni-kl.de Hochschule Mannheim Fakultät für Informatik Institut für Betriebssysteme..007 Organisatorisches zur Übung Verteilung auf die beiden
MehrHausübung 5 (Musterlösung )
SoSe 2014 Konzepte und Methoden der Systemsoftware Universität Paderborn Fachgebiet Rechnernetze Hausübung 5 (Musterlösung ) 2014-06-23 bis 2014-07-04 Hausübungsabgabe: Format: Lösungen in schriftlicher
Mehr(Prüfungs-)Aufgaben zum Thema Speicherverwaltung
(Prüfungs-)Aufgaben zum Thema Speicherverwaltung 1) Ein Betriebssystem mit virtueller Speicherverwaltung arbeite mit 32 Bit langen virtuellen Adressen einer Seitengröße von 4KB zweistufigem Paging, wobei
MehrBetriebssysteme 1. Thomas Kolarz. Folie 1
Folie 1 Betriebssysteme I - Inhalt 0. Einführung, Geschichte und Überblick 1. Prozesse und Threads (die AbstrakFon der CPU) 2. Speicherverwaltung (die AbstrakFon des Arbeitsspeichers) 3. Dateisysteme (die
MehrBesprechung des 8. Übungsblattes Einführung in Caches Cache-Organisation Cache-Ersetzungsstrategien Aufgaben (an der Tafel) Testklausur
Themen heute Besprechung des 8. Übungsblattes Einführung in Caches Cache-Organisation Cache-Ersetzungsstrategien Aufgaben (an der Tafel) Testklausur Besprechung des 8. Übungsblattes Aufgabe 2.6. In diesem
MehrUniversität Bielefeld Technische Fakultät AG Rechnernetze und verteilte Systeme. Vorlesung 4: Memory. Wintersemester 2001/2002. Peter B.
Universität Bielefeld Technische Fakultät AG Rechnernetze und verteilte Systeme Vorlesung 4: Memory Peter B. Ladkin Address Translation Die Adressen, die das CPU benutzt, sind nicht identisch mit den Adressen,
MehrRechnerarchitektur und Betriebssysteme (CS201): Virtual Memory
Rechnerarchitektur und Betriebssysteme (CS2): Virtual Memory 19 November 23 Prof Dr Christian Tschudin Departement Mathematik und Informatik, Universität Basel Wiederholung / Diskussion 1 Was ist ein inode?
Mehr183.579, WS2012 Übungsgruppen: Mo., 07.01. Do., 10.01.2013
VU Technische Grundlagen der Informatik Übung 7: Speicher, Peripherie 183.579, WS2012 Übungsgruppen: Mo., 07.01. Do., 10.01.2013 Aufgabe 1: Ihre Kreativität ist gefragt! Um die Qualität der Lehrveranstaltung
MehrVerteilte Echtzeit-Systeme
- Verteilte Echtzeit-Systeme Hans-Albrecht Schindler Wintersemester 2015/16 Teil B: Echtzeit-Betriebssysteme Abschnitt 13: Echtzeit-Primärspeicherverwaltung CSI Technische Universität Ilmenau www.tu-ilmenau.de
MehrVerteilte Systeme. Verteilte Systeme. 5 Prozeß-Management SS 2016
Verteilte Systeme SS 2016 Universität Siegen rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404 Stand: 31. Mai 2016 Betriebssysteme / verteilte Systeme Verteilte Systeme (1/14) i
MehrWelche der folgenden Aussagen gelten? a) Im allgemeinen gilt: ein Deadlock tritt auf gdw. der Resource-Allocation Graph einen Zykel
Aufgabe 1 (5 Punkte) (Multiple Choice) Beantworten Sie folgende Fragen durch Ankreuzen der richtigen Antwort. Für jede falsche Antwort wird ein Punkt abgezogen (es werden minimal 0 Punkte vergeben). Welche
MehrKonzepte von Betriebssystemkomponenten (KVBK) Schwerpunkt Linux
Konzepte von Betriebssystemkomponenten (KVBK) Schwerpunkt Linux Adressräume, Page Faults, Demand Paging, Copy on Write Seminar am 24.11.2003, Referent: Johannes Werner Speicherverwaltung ist bei heutigen
MehrCache. Dr.-Ing. Volkmar Sieh. Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2011
Cache Dr.-Ing. Volkmar Sieh Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2011 Cache 1/53 2012-02-29 Einleitung Hauptspeicherzugriffe sind langsam die
MehrTechnische Informatik 1
Technische Informatik 1 7 Prozesse und Threads Lothar Thiele Computer Engineering and Networks Laboratory Betriebssystem 7 2 7 3 Betriebssystem Anwendung Anwendung Anwendung Systemaufruf (syscall) Betriebssystem
MehrBetriebssysteme. 8. Betriebsmittelverwaltung. Lehrveranstaltung im Studienschwerpunkt Verwaltungsinformatik
Betriebssysteme 8. Betriebsmittelverwaltung Lehrveranstaltung im Studienschwerpunkt Verwaltungsinformatik erstellt durch: Name: Telefon: 09281 / 409-279 Fax: 09281 / 409-55279 Email: mailto: Karl.Wohlrab@fhvr-aiv.de
MehrTutorium Rechnerorganisation
Woche 10 Tutorien 3 und 4 zur Vorlesung Rechnerorganisation 1 Christian A. Mandery: KIT Universität des Landes Baden-Württemberg und nationales Grossforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu
MehrBetriebssysteme Teil 10: Virtueller Speicher
Betriebssysteme Teil 10: Virtueller Speicher 11.12.15 1 Übersicht Segmente Systemaufrufe Swapping Paging 2 Physikalischer Adressraum I - Wiederholung 3 Physikalischer Adressraum II - Wiederholung Es wird
MehrBetriebssysteme - Speicherverwaltung
Betriebssysteme - Speicherverwaltung alois.schuette@h-da.de Version: (8c45d65) ARSnova 19226584 Alois Schütte 18. Mai 2016 1 / 80 Inhaltsverzeichnis Der Hauptspeicher ist neben dem Prozessor das wichtigste
MehrBesprechung der Probeklausur Übungsscheine, inoffizielle Evaluation Übungsaufgaben Noch Fragen?
Themen heute Besprechung der Probeklausur Übungsscheine, inoffizielle Evaluation Übungsaufgaben Noch Fragen? Besprechung der Probeklausur Probeklausur wird jetzt ausgeteilt Notenschlüssel: 45 37,5 Punkte:
MehrVorlesung 14 Speichersysteme (2)
D - CA - XIV - MH - 1 HUMBOLDT-UNIVERSITÄT ZU BERLIN INSTITUT FÜR INFORMATIK Vorlesung 14 Speichersysteme (2) Sommersemester 2003 Leitung: Prof. Dr. Miroslaw Malek D - CA - XIV - MH - 2 SPEICHERSYSTEME
MehrBetriebssysteme (BS) Inhalt. Speicherverwaltung. Olaf Spinczyk 1.
Betriebssysteme (BS) Speicherverwaltung http://ess.cs.tu-dortmund.de/de/teaching/ss2016/bs/ Olaf Spinczyk 1 olaf.spinczyk@tu-dortmund.de http://ess.cs.tu-dortmund.de/~os 1 In Zusammenarbeit mit Franz Hauck,
MehrDie Sicht eines Sysadmins auf DB systeme
Die Sicht eines Sysadmins auf DB systeme Robert Meyer 21. Oktober 2016 Robert Meyer Die Sicht eines Sysadmins auf DB systeme 21. Oktober 2016 1 / 20 Inhaltsverzeichnis 1 Einleitung 2 IO unter Linux typische
MehrKlausur. Betriebssysteme SS 2007
Matrikelnummer: 9999999 Klausur FB Informatik und Mathematik Prof. R. Brause Betriebssysteme SS 2007 Vorname: Nachname: Matrikelnummer: Geburtsdatum: Studiengang: Bitte tragen Sie auf jeder Seite Ihre
MehrÜbung 4 - Betriebssysteme I
Prof. Dr. Th. Letschert FB MNI 9. Juni 2002 Übung 4 - Betriebssysteme I Aufgabe 1 1. Erläutern Sie die Begriffe der transparent und der virtuell mit ihrer in der Informatik üblichen Bedeutung. 2. Wie werden
Mehr10.1 Seitentauschverfahren. Kapitel 10 Algorithmen zur Speicherverwaltung. Auswahlstrategie. Modellierung der Seitenzugriffe
0. Seitentauschverfahren Kapitel 0 Algorithmen zur Speicherverwaltung Virtueller Speicher verwendet Paging, hierbei treten evtl. Seitenfehler auf Motivierende Rechnung: Leistungseinfluss von Seitenfehlern
MehrSpeicher. Betriebssysteme (zu Teilen nach Tanenbaum) Hermann Härtig TU Dresden. Tanenbaum MOS
Speicher Betriebssysteme (zu Teilen nach Tanenbaum) Tanenbaum MOS Hermann Härtig TU Dresden Wegweiser Einführung Elementare Techniken Virtueller Speicher (Paging) Anliegen - Begriffe - Vorgehen Adressumsetzung
MehrMMU Virtualisierung. ISE Seminar 2012. Thomas Schaefer 1
MMU Virtualisierung ISE Seminar 2012 Thomas Schaefer 1 Inhalt Allgemein MMU: Virtualisiert Probleme Problem 1: Ballooning Problem 2: Memory-Sharing Kurz: Problem 3 & 4 Translation Lookside Buffer TLB in
MehrOne of the few resources increasing faster than the speed of computer hardware is the amount of data to be processed. Bin Hu
Bin Hu Algorithmen und Datenstrukturen 2 Arbeitsbereich fr Algorithmen und Datenstrukturen Institut fr Computergraphik und Algorithmen Technische Universität Wien One of the few resources increasing faster
MehrVisualiserung des Prinzips von virtuellem Speicher
Visualiserung des Prinzips von virtuellem Speicher Benutzerhandbuch Inhaltsverzeichnis Installationsanweisung 3 Systemanforderung 3 Das Programm 3 Das Programm starten 3 Das Hauptfenster der segmentorientierten
MehrLösungsskizzen zur Abschlussklausur Betriebssysteme
Lösungsskizzen zur Abschlussklausur Betriebssysteme 24. Januar 2013 Name: Vorname: Matrikelnummer: Studiengang: Hinweise: Tragen Sie zuerst auf allen Blättern (einschlieÿlich des Deckblattes) Ihren Namen,
MehrSpeicherverwaltung ÜBERBLICK
Speicherverwaltung 3. Systeme ohne Speicherabstraktion............... 229 3.2 Speicherabstraktion: Adressräume................ 232 3.3 Virtueller Speicher................................ 24 3.4 Seitenersetzungsalgorithmen.....................
MehrSpeicherverwaltung, Interrupts & Exceptions. Daniel Richter Seminar Prozesssteuerung und Robotik 03. Dezember 2008
Speicherverwaltung, Interrupts & Exceptions Daniel Richter Seminar Prozesssteuerung und Robotik 03. Dezember 2008 Agenda 2 Speicherverwaltung Grundlagen Möglichkeiten auf verschiedenen Ebenen CPU/Hardware,
Mehr9 Speicherorganisation
9 Speicherorganisation In diesem Kapitel behandeln wir... verschiedene Speicherkonzepte Algorithmen zur effektivenspeichernutzung Rechteverwaltung vonspeicher 98 Kapitel 9: Speicherorganisation 9. Speicherhierarchie
Mehr5.6 Segmentierter virtueller Speicher
5.6 Segmentierter virtueller Speicher Zur Erinnerung: Virtueller Speicher ermöglicht effiziente und komfortable Nutzung des realen Speichers; Sharing ist problematisch. Segmentierung erleichtert Sharing,
MehrDatenpfad einer einfachen MIPS CPU
Datenpfad einer einfachen MIPS CPU Zugriff auf den Datenspeicher Grundlagen der Rechnerarchitektur Prozessor 19 Betrachten nun Load und Store Word Erinnerung, Instruktionen lw und sw sind vom I Typ Format:
MehrVirtueller Speicher und Cache. VL5 GRT, SS 2004, Kneisel
Virtueller Speicher und Cache VL5 GRT, SS 2004, Kneisel Speicherhierarchie Übersicht! Ausgangsproblem, Motivation! Virtueller Speicher " Paging, Adressübersetzung, Pufferung " Segmentierung Abgrenzung
MehrRealisierung: virtueller Prozessor: der reale Prozessor wird periodisch dem Programm zugewiesen Im Prozessor: durch Task-Status Segment (TSS)
1.2 Multitasking Damit ein Computer mehrere Aufgaben gleichzeitig erledigen kann, die jede für sich oder die auch gemeinsam arbeiten, z.b. Daten lesen Berechnungen ausführen Netzwerkkontakt abarbeiten
MehrBetriebssysteme Vorstellung
Am Anfang war die Betriebssysteme Vorstellung CPU Ringvorlesung SE/W WS 08/09 1 2 Monitor CPU Komponenten eines einfachen PCs Bus Holt Instruktion aus Speicher und führt ihn aus Befehlssatz Einfache Operationen
MehrLinux Memory Management für MySQL
Linux Memory Management für MySQL SIG MySQL - Performance 13.03.2012 Marius Dorlöchter mdo@ordix.de www.ordix.de Vorstellung Marius Dorlöchter Consultant bei ORDIX seit 2006 Gruppe Systemintegration Betriebssysteme:
MehrVirtueller Speicher. Teil 2. Prof. Dr. Margarita Esponda-Argüero WS 2011/2012. M. Esponda-Argüero
Virtueller Speicher Teil 2 Prof. Dr. Margarita Esponda-Argüero WS 2011/2012 1 Speicherzuteilung im Kernel Speicherverwaltung für Kernel-Threads wird getrennt von der Speicherverwaltung für Benutzer-Prozesse
MehrLösungsvorschlag zur 5. Übung
Prof. Frederik Armknecht Sascha Müller Daniel Mäurer Grundlagen der Informatik 3 Wintersemester 09/10 Lösungsvorschlag zur 5. Übung 1 Präsenzübungen 1.1 Schnelltest a) Welche Aussagen über Caches sind
MehrTeil VIII Von Neumann Rechner 1
Teil VIII Von Neumann Rechner 1 Grundlegende Architektur Zentraleinheit: Central Processing Unit (CPU) Ausführen von Befehlen und Ablaufsteuerung Speicher: Memory Ablage von Daten und Programmen Read Only
MehrPrüfung VO Betriebssysteme SS2008 / 7. Juli 2008
Name: Matrikel-Nr: Prüfung VO Betriebssysteme SS2008 / 7. Juli 2008 Bitte schreiben Sie leserlich und antworten Sie kurz und präzise. 1. Zeichnen Sie das Schichten-Modell eines Computersystems und markieren
MehrProzesse und Scheduling
Betriebssysteme für Wirtschaftsinformatiker SS04 KLAUSUR Vorbereitung mit Lösungen / Blatt 1 Prozesse und Scheduling Aufgabe 1 : Scheduling Gegeben seien die folgenden Prozesse und die Längen des jeweiligen
MehrVon der Platte zur Anwendung (Platte, Treiber, Dateisystem)
(Platte, Treiber, Dateisystem) 1. Einleitung 2. Dateisysteme 2.1. Logisches Dateisystem 2.2. Dateiorganisationsmodul 2.3. Basis Dateisystem 3. Festplattentreiber 3.1. Funktionsweise 3.2. Scheduling Verfahren
MehrVorlesung "Verteilte Systeme" Sommersemester 1999. Verteilte Systeme. Adreßraum. Rechner. Verteilte Systeme, Sommersemester 1999 Folie 19.
Verteilte Systeme 19. Distributed Shared Memory Sharing!! No Sharing! Sharing? Evolution der Berechnungsmodelle Vergangenheit Gemeinsamer Speicher Einzelrechner Gegenwart Nachrichtenkommunikation Verteilte
Mehr