Kapitel VI. Speicherverwaltung. Vorlesung Betriebssysteme

Größe: px
Ab Seite anzeigen:

Download "Kapitel VI. Speicherverwaltung. Vorlesung Betriebssysteme"

Transkript

1 Kapitel VI Speicherverwaltung V 1

2 Speicherverwaltung Computer exekutiert Programme (mit Daten) im Hauptspeicher. Hauptspeicher: Großes Array von Wörtern (1 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.

3 Adressbindung (1) Programm liegt auf Festplatte als Binärcode. Programm wird geladen (von Festplatte in Hauptspeicher) und von Prozess exekutiert. 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 viele Stellen im Speicher geladen werden. Die Adressbindung von Instruktionen und Daten kann auf verschiedene

4 Adressbindung (2) Zur Übersetzungszeit Programmstartadresse im Speicher zur Übersetzungszeit bekannt. Kann absolute Adressen generieren Bei Änderung der Startadresse muss neu übersetzt werden. Zur Ladezeit Startadresse des Programms nicht zur Übersetzungszeit bekannt. Übersetzer erzeugt relocatable Code. 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)

5 Verarbeitung eines Programms zur Übersetzungszeit Eingabeprogramm Symbolische Adressen z.b. Zähler Übersetzer oder Assembler Objektmodul Relocatable Adressen z.b. 14 Bytes nach Beginn dieses Speichermodul

6 erarbeitung eines Programms zur Ladezei Objektmodul Weitere Objektmodule Linker Lademodul Lader Systembibliothek

7 erarbeitung eines Programms zur Laufzeit Lader Dynamisch geladene Systembibliothek Binärcode (Image) absolute Adressen

8 Dynamisches Laden und Linken Dynamisches Laden: Dynamisches Laden, um Speicher optimal auszunützen Alle Routinen sind auf der Platte in relocatable Format. 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 wird Stub in den Binärcode inkludiert. Stub weiß wo sich Routine (bereits geladen) befindet, oder wie man Routine lädt. Stub ersetzt sich selbst mit der Adresse der Routine und exekutiert diese. Bei der nächsten Verwendung einer Routine ist diese bereits im Speicher.

9 Overlays 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. Ein Overlay ist eine Sequenz von Segmenten, die vollständig im Speicher exekutiert werden kann.

10 Logische und Physikalische Adressen 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. Relocation Register Hauptspeicher CPU logische physikalische Adresse Adresse MMU +

11 Speicherverwaltung (1) 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.

12 Speicherverwaltung (2) 2 grundlegende Ansätze: Swapping virtueller Speicher Swapping jeder Prozess vollständig im Speicher läuft eine gewisse Zeit wird auf Plattenspeicher ausgelagert virtueller Speicher Teile eines Programms befinden sich im Speicher

13 Swapping (1) 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.

14 Swapping (2)

15 Swapping Änderung der Speicherallokation Veränderung der Speicherallokation, wenn Prozess in den Hauptspeicher geladen wird Hauptspeicher verlässt

16 Speicherverwaltung mit Bitmaps oder Freibereichslisten 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

17 Speicherverwaltung mit verketteten Listen

18 Swapping dynamische Speicherblöcke Speichervergabe für dynamisch wachsende Datensegmente Speichervergabe für wachsenden Stack und Datensegmente

19 Problem: dynamische Speichervergabe rfüllen einer Speicheranfrage von n Bytes unter Verwendung der reibereichsliste 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.

20 Swap-Space 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.

21 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 512 Bytes und 16 MBytes Bei der Exekution eines Prozesses durch die CPU werden nur jene Seiten in de 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 4096 Byte Seiten (12 Bits für die Adressierung innerhalb der Seite) 2^20 Seiten (20 Bits) tuelle Adresse Position Present Rd/Write 20 bits 12 bits Seiten- Tabelle + Hauptspeicher

22 Virtueller Speicher Paging

23 Paging Relation zwischen virtuellen und physikalischen Adressen

24 Seitentabellen MMU Adressumwandlung mit 16 4 KB Seiten

25 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 0 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. 1 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 Einträge für die meisten Programme. Wobei die meisten Einträge leer sind. Beachte, dass jeder Prozess eigene Seitentabelle hat. Lösung 1: Verwende eine Hierarchie von Seitentabellen (Pagen der Seitentabelle). Virtuelle Adresse 12 bits 10 bits Seitenverzeichnis Pg Tbl Ptr 10 bits Seitentabelle physik. Seitennr. + Hauptspeicher

29 Invertierte Seitentabellen Lösung 2: 1 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.

30 Invertierte Seitentabelle: Beispiel Physikal. Adr. CPU PID Seiten # Offset i Offset virtuelle Adr. Haupt- Speicher Hash Funktion 1 i invertierte Seitentabelle PID Seiten # 1 Seitentabelle pro System

31 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: Translation Look-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 4096 Einträge valid virtual page physical page

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 Virtuelle Adresse ohne physikalische Adresse: Seitenfehler Das nennt man einen Page Fault (Seitenfehler). Software Interrupt (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 0. Referenz auf eine ungültige Seite Programm wird mit einer Segmentation Violation terminiert. 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 ustand von Seiten (Hardware Perspektive) Seiten-Frame Zähler (Position der Seite im Speicher oder auf der Platte) Valid Bit Seite im Hauptspeicher vorhanden Modify oder Dirty Bit 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)

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

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 eitenfehler ohne zusätzliche physikalische Seite Muss eine Seite aus Hauptspeicher entfernen. Eine dirty Seite muss zuerst auf die Platte gespeichert werden. Dirty Seiten 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 Algorithmus für das Ersetzen von Seiten Optimale Strategie (OPT) 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: 1,2,3,4,1,2,5,1,2,3,4,5 Zugriff 1 (1) nicht vorhanden Zugriff 2 (1,2) nicht vorhanden Zugriff 3 (1,2,3) nicht vorhanden Zugriff 4 (1,2,4) nicht vorhanden, ersetze Zugriff 1 (1,2,4) vorhanden Zugriff 2 (1,2,4) vorhanden Zugriff 5 (1,2,5) nicht vorhanden, ersetze Zugriff 1 (1,2,5) vorhanden Zugriff 2 (1,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

40 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 über die Seitenrahmen des Prozesses wandert.

41 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.

42 Beispiel für FIFO (Speicher mit 3 Frames) Zugriffsmuster: 1,2,3,4,1,2,5,1,2,3,4,5 Zugriff 1 (1) nicht vorhanden Zugriff 2 (1,2) nicht vorhanden Zugriff 3 (1,2,3) nicht vorhanden Zugriff 4 (2,3,4) nicht vorhanden, ersetze Zugriff 1 (3,4,1) nicht vorhanden, ersetze Zugriff 2 (4,1,2) nicht vorhanden, ersetze Zugriff 5 (1,2,5) nicht vorhanden, ersetze Zugriff 1 (1,2,5) vorhanden Zugriff 2 (1,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: 1,2,3,4,1,2,5,1,2,3,4,5 Zugriff 1 (1) nicht vorhanden Zugriff 2 (1,2) nicht vorhanden Zugriff 3 (1,2,3) nicht vorhanden Zugriff 4 (1,2,3,4) nicht vorhanden Zugriff 1 (1,2,3,4) vorhanden Zugriff 2 (1,2,3,4) vorhanden Zugriff 5 (2,3,4,5) nicht vorhanden, ersetze Zugriff 1 (3,4,5,1) nicht vorhanden, ersetze Zugriff 2 (4,5,1,2) nicht vorhanden, ersetze Zugriff 3 (5,1,2,3) nicht vorhanden, ersetze Zugriff 4 (1,2,3,4) nicht vorhanden, ersetze Zugriff 5 (2,3,4,5) nicht vorhanden, ersetze 10 Seitenfehler

44 Beispiel für LRU (Speicher mit 3 Frames) Zugriffsmuster: 1,2,3,4,1,2,5,1,2,3,4,5 Zugriff 1 (1) nicht vorhanden Zugriff 2 (1,2) nicht vorhanden Zugriff 3 (1,2,3) nicht vorhanden Zugriff 4 (2,3,4) nicht vorhanden, ersetze Zugriff 1 (3,4,1) nicht vorhanden, ersetze Zugriff 2 (4,1,2) nicht vorhanden, ersetze Zugriff 5 (1,2,5) nicht vorhanden, ersetze Zugriff 1 (2,5,1) vorhanden Zugriff 2 (5,1,2) vorhanden Zugriff 3 (1,2,3) nicht vorhanden, ersetze Zugriff 4 (2,3,4) nicht vorhanden, ersetze Zugriff 5 (3,4,5) nicht vorhanden, ersetze 10 Seitenfehler

45 Beispiel für LRU (Speicher mit 4 Frames) Zugriffsmuster: 1,2,3,4,1,2,5,1,2,3,4,5 Zugriff 1 (1) nicht vorhanden Zugriff 2 (1,2) nicht vorhanden Zugriff 3 (1,2,3) nicht vorhanden Zugriff 4 (1,2,3,4) nicht vorhanden Zugriff 1 (2,3,4,1) Zugriff 2 (3,4,1,2) Zugriff 5 (4,1,2,5) nicht vorhanden, ersetze Zugriff 1 (4,2,5,1) Zugriff 2 (4,5,1,2) Zugriff 3 (5,1,2,3) nicht vorhanden, ersetze Zugriff 4 (1,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 1 gesetzt, wenn Seite geladen oder referenziert wird bei Seitenfehler: Suche erste Seite ab Zeigerpos. mit Use Bit = 0 Diese Seite wird ausgelagert und neue Seite auf dieser Position abgelegt. Setze dabei Use Bits mit Wert 1 von 1 auf 0

47 Clock Policy kaum mehr Seitenfehler als LRU mehr Frames pro Prozess: bessere Annäherung an LRU wenn alle Use Bits gesetzt sind --> FIFO

48 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? wenige Frames -> viele Seitenfehler viele Frames -> reduziere Anzahl der Prozesse im Hauptspeicher (Einschränkung der Parallelität) Fixed Allocation Variable Allocation

49 Working Set und Seitenersetzung 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 Größe des Working Sets Groß Sehr schnell Sehr langsam

50 Working Set Strategie (1) Variable Allokation von Seiten für einen Prozess basierend auf Lokalitätsannahme Working Set eines Prozesses zum Zeitpunkt t: W(k, t) = Menge der Seiten des Prozesses, auf die in den letzten k virtuellen Zeiteinheiten zugegriffen wurde virtuelle Zeit: bezieht sich auf bestimmten Prozess k Zeitfenster (Window of Time) W(k, t) beschreibt Lokalität des Prozesses

51 Working Set Strategie (2) k

52 Working Set Strategie: ein Beispiel Seitenreferenztabelle k=10 k=10 (k, t 1 ) = {1,2,5,6,7} t 1 W(k, t 2 ) = {3,4} t 1 schlechte Lokalität gute Lokalität enn der Working Set eines Prozesses mehr Seiten umfasst, als Frames ur Verfügung stehen, dann kommt es zum Trashing.

53 Working Set Strategie (3) rmittlung der Größe des Resident Set: eobachtung des Working Set der Prozesse eriodisches Löschen der Seiten, die sich nicht im Working Set efinden enn 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 orking Set Strategie versucht Trashing zu verhindern und aximiert Grad des Multiprogrammierens.

54 Working Set Strategie (4) robleme bei der Realisierung: Mitloggen der Zugriffe auf Seiten Ordnen der Seitenzugriffe optimales k ist zur Laufzeit unbekannt und variiert erhindern von Trashing: Beobachtung der Anzahl der eitenfehler pro Prozess statt Working Set

55 Überblick: Seitenersetzungsalgorithmen

56 Thrashing Virtueller Speicher kann zu hohen Speicherzugriffskosten führen. Thrashing: Wenn ein Prozess nicht genügend Frames hat, kann das System die gesamte Zeit dazu verwenden, Seiten von der Platte in den Hauptspeicher zu laden und umgekehrt. Muss versuchen, 1 oder mehrere Prozesse auszulagern (Swapping). 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.

57 Vermeiden von Thrashing Versuche den Working Set im Hauptspeicher zu halten Wenn die Anzahl der Working Sets aller Prozesse im Hauptspeicher größer als die Anzahl der zur Verfügung stehenden Frames ist, muss ein Prozess ausgelagert werden. Berechung von Working Sets Abschätzung durch Use-Bit

58 Segmentierung (1) 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. 1 Segmenttabelle pro Prozess: für jedes Segment 1 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

59 Segmentierung (2) Nicht-überlappende Segmente können verwendet werden, um erweiterten Adressbereich zu realisieren: 16-Bit-Architekturen (8086 Prozessor) haben Segmente mit 16- 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 4 Gbyte Codesegmente, Stack-Segmente und Datensegmente Mehrere Prozesse (Threads) können gemeinsamen Speicher verwenden.

60 1-dimensionaler Adressraum 1-dim Adressraum mit wachsenden Tabellengrößen Tabellen wachsen ineinander

61 Segmentierung separate Segmente: 2-dim. Adressbereich Jede Tabelle kann unabhängig von anderen Tabellen wachsen und schrumpfen.

62 Paging versus Segmentierung

63 Implementierung einer konventionellen Segmentierung a)-(d) Checkerboarding

64 Zusammenfassung artitionierung des Hauptspeichers Aufteilung auf mehrere Prozesse elocation logische Adressierung irtual Memory logischer Speicher > physikalischer Speicher Paging, Segmentierung Adressübersetzungstabellen und -hardware Lade- und Austauschstrategien

Speicherverwaltung. Kapitel VI. Adressbindung (2) Adressbindung (1) Speicherverwaltung

Speicherverwaltung. Kapitel VI. Adressbindung (2) Adressbindung (1) Speicherverwaltung 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.

Mehr

Kapitel VI. Speicherverwaltung. Speicherverwaltung

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

Mehr

Kapitel VI. Speicherverwaltung. Vorlesung Betriebssysteme

Kapitel VI. Speicherverwaltung. Vorlesung Betriebssysteme Kapitel VI Speicherverwaltung 1 Speicherverwaltung Computer exekutiert Programme (mit Daten) im Hauptspeicher. Hauptspeicher: Großes Array von Wörtern W (1 oder mehrere Bytes) Jedes Wort hat eine eigene

Mehr

Vorlesung Betriebssysteme

Vorlesung Betriebssysteme Kapitel VI Speicherverwaltung Vorlesung Betriebssyst 1 Speicherverwaltung Computer exekutiert Programme (mit Daten) im Hauptspeicher. Hauptspeicher: Großes Array von Wörtern (1 oder mehrere Bytes) Jedes

Mehr

Memory 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 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

Mehr

Tutorium Rechnerorganisation

Tutorium 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

Mehr

RO-Tutorien 15 und 16

RO-Tutorien 15 und 16 Tutorien zur Vorlesung Rechnerorganisation Tutorienwoche 10 am 29.06.2011 1 Christian A. Mandery: KIT Universität des Landes Baden-Württemberg und nationales Grossforschungszentrum in der Helmholtz-Gemeinschaft

Mehr

Virtueller Speicher und Memory Management

Virtueller Speicher und Memory Management Virtueller Speicher und Memory Management Speicher-Paradigmen Programmierer ein großer Adressraum linear adressierbar Betriebssystem eine Menge laufender Tasks / Prozesse read-only Instruktionen read-write

Mehr

Speicherverwaltung (Swapping und Paging)

Speicherverwaltung (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

Mehr

Betriebssysteme Teil 10 B: Fragen rund um Seitenfehler

Betriebssysteme Teil 10 B: Fragen rund um Seitenfehler Betriebssysteme Teil 10 B: Fragen rund um Seitenfehler 1 Überlegungen Wenn wir einige Seiten eines Programms in den Speicher laden, brauchen wir eine Strategie, welche Seiten als nächstes geladen werden

Mehr

Teil 2: Speicherstrukturen

Teil 2: Speicherstrukturen Inhalt Teil 2: Speicherstrukturen Hauptspeicher Cache Assoziativspeicher Speicherverwaltungseinheit ( Memory Management Unit ) 1 Virtueller Speicher Trennung von virtuellem Adreßraum (mit virtuellen Adressen)

Mehr

Leichtgewichtsprozesse

Leichtgewichtsprozesse Leichtgewichtsprozesse häufiger Prozeßwechsel stellt in einem Betriebssystem eine hohe Belastung dar; auch erfordert die Generierung eines neuen Prozesses viele System-Resourcen in vielen Anwendungen werden

Mehr

Leichtgewichtsprozesse

Leichtgewichtsprozesse Leichtgewichtsprozesse häufiger Prozeßwechsel stellt in einem Betriebssystem eine hohe Belastung dar; auch erfordert die Generierung eines neuen Prozesses viele System-Resourcen in vielen Anwendungen werden

Mehr

(Cache-Schreibstrategien)

(Cache-Schreibstrategien) Übungsblatt 2 Aufgabe 1 (Digitale Datenspeicher) 1. Nennen Sie einen digitalen Datenspeicher, der mechanisch arbeitet. 2. Nennen Sie zwei rotierende magnetische digitale Datenspeicher. 3. Nennen Sie zwei

Mehr

Virtueller Speicher WS 2011/2012. M. Esponda-Argüero

Virtueller Speicher WS 2011/2012. M. Esponda-Argüero Virtueller Speicher WS / Virtuelle Speicher Bis jetzt sind wir davon ausgegangen, dass Prozesse komplett im Hauptspeicher gelagert werden. Speicherreferenzen sind nur logische Adressen, die dynamisch in

Mehr

Wunschvorstellung der Entwickler vom Speicher

Wunschvorstellung der Entwickler vom Speicher Wunschvorstellung der Entwickler vom Speicher Unendlich groß Unendlich schnell Nicht flüchtig billig Obwohl sich der verfügbare Speicher laufend erhöht, wird immer mehr Speicher benötigt, als verfügbar

Mehr

Konzepte von Betriebssystemkomponenten Referat am Thema: Adressräume, Page Faults, Demand Paging, Copy on Write Referent: Johannes Werner

Konzepte von Betriebssystemkomponenten Referat am Thema: Adressräume, Page Faults, Demand Paging, Copy on Write Referent: Johannes Werner Konzepte von Betriebssystemkomponenten Referat am 24.11.2003 Thema: Adressräume, Page Faults, Demand Paging, Copy on Write Referent: Johannes Werner Gliederung Adressräume Page Faults Demand Paging Copy

Mehr

Echtzeitbetriebssysteme

Echtzeitbetriebssysteme Speicherverwaltung (Memory Management) Aufgaben der Memory-Management-Unit ist l der Speicherschutz und l die Adressumsetzung Wird durch Hardware unterstützt l Memory Management Unit (MMU) l MMU wird vom

Mehr

Wie groß ist die Page Table?

Wie 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

Mehr

Zwei Möglichkeiten die TLB zu aktualisieren

Zwei Möglichkeiten die TLB zu aktualisieren Zwei Möglichkeiten die TLB zu aktualisieren Die MMU kümmert sich um alles (Hardware-Lösung) sucht die p-entry wenn diese nicht da ist, behandelt direkt das TLB-miss zum Schluss wird die neue p-entry (virt

Mehr

Linker: Adreßräume verknüpfen. Informationen über einen Prozeß. Prozeß-Erzeugung: Verwandtschaft

Linker: 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

Mehr

Paging. Einfaches Paging. Paging mit virtuellem Speicher

Paging. 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

Mehr

Konzepte von Betriebssystem- Komponenten Olessia Usik 20. Juni 2005

Konzepte von Betriebssystem- Komponenten Olessia Usik 20. Juni 2005 Konzepte von Betriebssystem- Komponenten Olessia Usik olessia@freenet.de 20. Juni 2005 1 GROß 2 SCHNELL UNENDLICH Gliederung 1. Einleitung 2. Swapping 3. Virtuelle Speicherverwaltung 3.1 Segmentorientierter

Mehr

Lösung von Übungsblatt 2

Lösung von Übungsblatt 2 Lösung von Übungsblatt 2 Aufgabe 1 (Digitale Datenspeicher) 1. Nennen Sie einen digitalen Datenspeicher, der mechanisch arbeitet. Lochstreifen, Lochkarte, CD/DVD beim Pressen. 2. Nennen Sie zwei rotierende

Mehr

Technische 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 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

Mehr

Hauptspeicherverwaltung - Memory Management

Hauptspeicherverwaltung - Memory Management Hauptspeicherverwaltung - Memory Management Operating Systems I SS21 Prof. H.D.Clausen - unisal 1 Speicherhierarchie Verarbeitung cache Sekundär- Speicher Primär- Speicher ALU SS21 Prof. H.D.Clausen -

Mehr

Linux Paging, Caching und Swapping

Linux 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

Mehr

Einführung in die technische Informatik

Einfü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

Mehr

In heutigen Computern findet man schnellen/teuren als auch langsamen/billigen Speicher

In heutigen Computern findet man schnellen/teuren als auch langsamen/billigen Speicher Speicherhierarchie In heutigen Computern findet man schnellen/teuren als auch langsamen/billigen Speicher Register Speicherzellen, direkt mit der Recheneinheit verbunden Cache-Speicher Puffer-Speicher

Mehr

Freispeicherverwaltung Martin Wahl,

Freispeicherverwaltung Martin Wahl, Freispeicherverwaltung Martin Wahl, 17.11.03 Allgemeines zur Speicherverwaltung Der physikalische Speicher wird in zwei Teile unterteilt: -Teil für den Kernel -Dynamischer Speicher Die Verwaltung des dynamischen

Mehr

Übung zu Grundlagen der Betriebssysteme. 14. Übung

Übung zu Grundlagen der Betriebssysteme. 14. Übung Übung zu Grundlagen der Betriebssysteme 14. Übung 29.01.2012 Aufgabe 1 Demand Paging a) Was wird unter dem Begriff Demand Paging verstanden? b) Was sind Vor- und Nachteile des Demand Paging? Bei Demand

Mehr

Überschrift. Speicherverwaltung. Prof. Dr. Margarita Esponda Freie Universität Berlin 2011/2012

Überschrift. Speicherverwaltung. Prof. Dr. Margarita Esponda Freie Universität Berlin 2011/2012 Überschrift Speicherverwaltung Prof. Dr. Margarita Esponda Freie Universität Berlin 2011/2012 1 Hauptziele: Speicherverwaltung Speicher ist die zweite wichtigste Ressource, die das Betriebssystem verwalten

Mehr

Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung

Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung Version 21.12.2016 1 Inhalt Vorlesung Aufbau einfacher Rechner Überblick: Aufgabe, Historische Entwicklung, unterschiedliche Arten von Betriebssystemen

Mehr

Schreiben von Pages. Schreiben einer Page in den Swap Space ist sehr teuer (kostet millionen von CPU Zyklen).

Schreiben von Pages. Schreiben einer Page in den Swap Space ist sehr teuer (kostet millionen von CPU Zyklen). Schreiben von Pages Schreiben einer Page in den Swap Space ist sehr teuer (kostet millionen von CPU Zyklen). Write Through Strategie (siehe Abschnitt über Caching) ist hier somit nicht sinnvoll. Eine sinnvolle

Mehr

Besprechung des 9. Übungsblattes Virtuelle Speicherverwaltung Aufgaben

Besprechung des 9. Übungsblattes Virtuelle Speicherverwaltung Aufgaben Themen heute Besprechung des 9. Übungsblattes Virtuelle Speicherverwaltung Aufgaben Besprechung des 9. Übungsblattes Aufgabe 2 Ist in einer Aufgabe wie hier keine explizite Wortbreite angegeben, nicht

Mehr

Quiz. Gegeben sei ein 16KB Cache mit 32 Byte Blockgröße. Wie verteilen sich die Bits einer 32 Bit Adresse auf: Tag Index Byte Offset.

Quiz. Gegeben sei ein 16KB Cache mit 32 Byte Blockgröße. Wie verteilen sich die Bits einer 32 Bit Adresse auf: Tag Index Byte Offset. Quiz Gegeben sei ein 16KB Cache mit 32 Byte Blockgröße. Wie verteilen sich die Bits einer 32 Bit Adresse auf: Tag Index Byte Offset 32 Bit Adresse 31 3 29... 2 1 SS 212 Grundlagen der Rechnerarchitektur

Mehr

Betriebssysteme I WS 2016/2017. Betriebssysteme / verteilte Systeme Tel.: 0271/ , Büro: H-B 8404

Betriebssysteme I WS 2016/2017. Betriebssysteme / verteilte Systeme Tel.: 0271/ , Büro: H-B 8404 Betriebssysteme I WS 2016/2017 Betriebssysteme / verteilte Systeme rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404 Stand: 2. Februar 2017 Betriebssysteme / verteilte Systeme Betriebssysteme

Mehr

RO-Tutorien 17 und 18

RO-Tutorien 17 und 18 RO-Tutorien 17 und 18 Tutorien zur Vorlesung Rechnerorganisation Christian A. Mandery TUTORIENWOCHE 12 AM 19.07.2012 KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der

Mehr

Cache Blöcke und Offsets

Cache Blöcke und Offsets Cache Blöcke und Offsets Ein Cache Eintrag speichert in der Regel gleich mehrere im Speicher aufeinander folgende Bytes. Grund: räumliche Lokalität wird wie folgt besser ausgenutzt: Bei Cache Miss gleich

Mehr

2.3 Prozessverwaltung

2.3 Prozessverwaltung Realisierung eines Semaphors: Einem Semaphor liegt genau genommen die Datenstruktur Tupel zugrunde Speziell speichert ein Semaphor zwei Informationen: Der Wert des Semaphors (0 oder 1 bei einem binären

Mehr

Systeme I: Betriebssysteme Kapitel 4 Prozesse. Wolfram Burgard

Systeme I: Betriebssysteme Kapitel 4 Prozesse. Wolfram Burgard Systeme I: Betriebssysteme Kapitel 4 Prozesse Wolfram Burgard Version 18.11.2015 1 Inhalt Vorlesung Aufbau einfacher Rechner Überblick: Aufgabe, Historische Entwicklung, unterschiedliche Arten von Betriebssystemen

Mehr

Virtueller Speicher. SS 2012 Grundlagen der Rechnerarchitektur Speicher 44

Virtueller 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

Mehr

Freispeicherverwaltung

Freispeicherverwaltung Freispeicherverwaltung Allgemeine Techniken und Anwendung unter Linux Martin Wahl, 17.11.03 Freispeicherverwaltung 1 Überblick Allgemeines Suchstrategien Verwaltungsstrategien externer / interner Verschnitt

Mehr

Betriebssysteme. Dipl.-Ing.(FH) Volker Schepper

Betriebssysteme. 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

Mehr

7. Speicherverwaltung

7. Speicherverwaltung 7. Speicherverwaltung Ziele Zuteilung des Arbeitsspeicher Abbildung der symbolischen Adresse auf die physikalische Adresse Adress-Transformation Symbolische Adresse verschiebbare Adresse physikalische

Mehr

Rechnergrundlagen SS Vorlesung

Rechnergrundlagen SS Vorlesung Rechnergrundlagen SS 2007 13. Vorlesung Inhalt Cache Lesen Schreiben Überschreiben Memory Management Unit (MMU) Translation Lookaside Buffer (TLB) Klausurvorbereitung Inhalte der Klausur Rechnergrundlagen

Mehr

é Er ist software-transparent, d.h. der Benutzer braucht nichts von seiner Existenz zu wissen. Adreßbus Cache- Control Datenbus

é Er ist software-transparent, d.h. der Benutzer braucht nichts von seiner Existenz zu wissen. Adreßbus Cache- Control Datenbus 4.2 Caches é Cache kommt aus dem Französischen: cacher (verstecken). é Er kann durch ein Anwendungsprogramm nicht explizit adressiert werden. é Er ist software-transparent, d.h. der Benutzer braucht nichts

Mehr

Echtzeit-Multitasking

Echtzeit-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

Mehr

Echtzeit-Multitasking

Echtzeit-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

Mehr

Inhaltsübersicht. Speicherverwaltung Teil I. Motivation. Prinzipielle Arten der Speicherverwaltung

Inhaltsübersicht. Speicherverwaltung Teil I. Motivation. Prinzipielle Arten der Speicherverwaltung Speicherverwaltung Teil I Hard- und Software-Komponenten zur Speicherverwaltung Inhaltsübersicht Zusammenhängende Speicherzuteilung Partitionen fester Größe Partitionen variabler Größe Methoden zur Verwaltung

Mehr

Lösung von Übungsblatt 5

Lösung von Übungsblatt 5 Lösung von Übungsblatt 5 Aufgabe 1 (Speicherverwaltung) 1. Bei welchen Konzepten der Speicherpartitionierung entsteht interne Fragmentierung? Statische Partitionierung f Dynamische Partitionierung Buddy-Algorithmus

Mehr

Betriebssysteme Sommersemester Betriebssysteme. 5. Kapitel. Adressumsetzung. Dr. Peter Tröger / Prof. M. Werner. Professur Betriebssysteme

Betriebssysteme Sommersemester Betriebssysteme. 5. Kapitel. Adressumsetzung. Dr. Peter Tröger / Prof. M. Werner. Professur Betriebssysteme Betriebssysteme Sommersemester 2017 Betriebssysteme 5. Kapitel Adressumsetzung Dr. Peter Tröger / Prof. M. Werner Professur Betriebssysteme 5.1 Speicher schneller, teurer, kleiner Betriebssysteme Adressumsetzung

Mehr

Fachbericht Thema: Virtuelle Speicherverwaltung

Fachbericht Thema: Virtuelle Speicherverwaltung Fachbericht 15.10.99 1 HINTERGRÜNDE/ MOTIVATION 2 2 FUNKTIONEN DER SPEICHERVERWALTUNG 2 3 ARTEN DER SPEICHERVERWALTUNG 2 3.1 STATISCHE SPEICHERVERWALTUNG 2 3.2 DYNAMISCHE SPEICHERVERWALTUNG 3 3.2.1 REALER

Mehr

virtueller Speicher - Trennung des logischen Speichers der Anwendung vom physikalischen Speicher.

virtueller Speicher - Trennung des logischen Speichers der Anwendung vom physikalischen Speicher. Kapitel 9 virtueller Speicher Seite 1 Kapitel 9: virtueller Speicher - Seiten-Swap Hintergrund virtueller Speicher - Trennung des logischen Speichers der Anwendung vom physikalischen Speicher. - Der Adressraum

Mehr

Übung zu Grundlagen der Betriebssysteme. 13. Übung 22.01.2012

Ü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

Mehr

Betriebssysteme Studiengang Informatik / SAT

Betriebssysteme Studiengang Informatik / SAT Betriebssysteme Studiengang Informatik / SAT Dipl.-Inf., Dipl.-Ing. (FH) Michael Wilhelm Hochschule Harz FB Automatisierung und Informatik mwilhelm@hs-harz.de http://www.miwilhelm.de Raum 2.202 Tel. 03943

Mehr

Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung. Maren Bennewitz

Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung. Maren Bennewitz Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung Maren Bennewitz Version 29.1.214 1 Inhalt Vorlesung Aufbau einfacher Rechner Überblick: Aufgabe, Historische Entwicklung, unterschiedliche Arten

Mehr

Speicher- Management

Speicher- Management - Management hierarchie Die Hauptcharakteristika von sind: Kosten Kapazitäten Zugriffszeiten Generell gilt: kürzere Zugriffszeiten bedingen höhere Kosten pro bit größere Kapazität bedingt geringere Kosten

Mehr

5.5 Virtueller Speicher

5.5 Virtueller Speicher 5.5 Virtueller Speicher Wenn der reale Speicher sogar für einzelne Prozesse zu klein ist : Virtueller Speicher (virtual memory), ist beliebig groß, nimmt alle Prozesse auf, ist in gleichgroße Teile Seiten

Mehr

Grundlagen der Informatik III Wintersemester 2010/2011

Grundlagen der Informatik III Wintersemester 2010/2011 Grundlagen der Informatik III Wintersemester 2010/2011 Wolfgang Heenes, atrik Schmittat 12. Aufgabenblatt 07.02.2011 Hinweis: Der Schnelltest und die Aufgaben sollen in den Übungsgruppen bearbeitet werden.

Mehr

3 Schnittstelle zum Betriebssystem 3.1 Einleitung

3 Schnittstelle zum Betriebssystem 3.1 Einleitung 3.1 Einleitung 1 Anbindung zum Betriebssystem (BS) Aufgaben BS Schnittstelle zur Hardware Sicherstellung des Betriebs mit Peripherie Dienste erfüllen für Benutzung Rechner Dateiverwaltung (Kopieren, Verwalten,.)

Mehr

Proseminar Konzepte von Betriebssystem- Komponenten (KVBK) Vortrag zum Thema: Speicheraddressierung, Segmentierung, Paging

Proseminar Konzepte von Betriebssystem- Komponenten (KVBK) Vortrag zum Thema: Speicheraddressierung, Segmentierung, Paging Proseminar Konzepte von Betriebssystem- Komponenten (KVBK) Vortrag zum Thema: Speicheraddressierung, Segmentierung, Paging Grundlegende Bedeutung von Speicheradressierung: Wie sind die Daten auf Dem Speicher

Mehr

wichtigstes Betriebsmittel - neben dem Prozessor: Speicher

wichtigstes 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

Speicher- und Cacheverwaltung unter Linux. Ralf Petring & Guido Schaumann

Speicher- und Cacheverwaltung unter Linux. Ralf Petring & Guido Schaumann Speicher- und Cacheverwaltung unter Linux Ralf Petring & Guido Schaumann Übersicht Virtueller Adressraum Virtuelle Speicheraufteilung Reale Speicheraufteilung Speicherverwaltung Speicherzugriff Auslagerungsstrategien

Mehr

Betriebssysteme 1. Thomas Kolarz. Folie 1

Betriebssysteme 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

Anbindung zum Betriebssystem (BS)

Anbindung zum Betriebssystem (BS) 7.1 Einleitung Anbindung zum Betriebssystem (BS) Aufgaben BS Schnittstelle von der Software zur Hardware Sicherstellung des Betriebs mit Peripherie Dienste erfüllen für Benutzung Rechner durch Verwaltung

Mehr

, 2014W Übungsgruppen: Mo., Mi.,

, 2014W Übungsgruppen: Mo., Mi., VU Technische Grundlagen der Informatik Übung 7: Speichermanagement 183.579, 2014W Übungsgruppen: Mo., 12.01. Mi., 14.01.2015 Aufgabe 1: Cache-Adressierung Ein Prozessor mit einer Adresslänge von 20 Bit

Mehr

Systeme I: Betriebssysteme Kapitel 4 Prozesse. Maren Bennewitz

Systeme I: Betriebssysteme Kapitel 4 Prozesse. Maren Bennewitz Systeme I: Betriebssysteme Kapitel 4 Prozesse Maren Bennewitz Version 21.11.2012 1 Begrüßung Heute ist Tag der offenen Tür Willkommen allen Schülerinnen und Schülern! 2 Testat nach Weihnachten Mittwoch

Mehr

Betriebssysteme. Speicherverwaltung - Grundlegende Konzepte. Sommersemester 2014 Prof. Dr. Peter Mandl. Prof. Dr. Peter Mandl Seite 1.

Betriebssysteme. Speicherverwaltung - Grundlegende Konzepte. Sommersemester 2014 Prof. Dr. Peter Mandl. Prof. Dr. Peter Mandl Seite 1. Speicherverwaltung - Grundlegende Konzepte Sommersemester 2014 Prof. Dr. Peter Mandl Prof. Dr. Peter Mandl Seite 1 Gesamtüberblick 1. Einführung in 2. Betriebssystemarchitekturen und Betriebsarten 3. Interruptverarbeitung

Mehr

Technische Informatik 2 Speichersysteme, Teil 3

Technische 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

Mehr

5.5.5 Der Speicherverwalter

5.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)

Mehr

Speicher Virtuelle Speicherverwaltung. Speicherverwaltung

Speicher 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

Mehr

Betriebssysteme. Thomas Fahringer. Institut für Informatik Universität Innsbruck. VO Betriebssysteme

Betriebssysteme. Thomas Fahringer. Institut für Informatik Universität Innsbruck. VO Betriebssysteme Grundzüge der Informatik IV: Betriebssysteme Thomas Fahringer Institut für Informatik Universität Innsbruck V Thomas.Fahringer@uibk.ac.at 1 Kapitel I Betriebssysteme: Aufgaben und Überblick V 2 Was ist

Mehr

(Prof. Dr. J. Schlichter, WS 2011 / 2012) Übungsleitung: Dr. Wolfgang Wörndl

(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

Mehr

8. Swapping und Virtueller Speicher

8. 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)

Mehr

Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung

Systeme 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

Kapitel 6 Speicherverwaltung Seite 1 zum Teil nach: Silberschatz&Galbin, Operating System Concepts, Addison-Wesley)

Kapitel 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

Mehr

4.3 Hintergrundspeicher

4.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

Mehr

Anbindung zum Betriebssystem (BS)

Anbindung 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 des Rechners durch Verwaltung der Ressourcen

Mehr

Betriebssysteme (BS)

Betriebssysteme (BS) Betriebssysteme (BS) Virtueller Speicher Olaf Spinczyk Arbeitsgruppe Eingebettete Systemsoftware Lehrstuhl für Informatik 2 TU Dortmund Olaf.Spinczyk@tu-dortmund.de http://ess.cs.uni-dortmund.de/~os/ In

Mehr

Übung zu Einführung in die Informatik # 10

Ü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),

Mehr

9) Speicherverwaltung

9) Speicherverwaltung Inhalte Speicherhierarchien Speicherzuteilung Adressbildung Lineare Adressbildung mit statischer/dynamischer Zuteilung (Segmentierung) Kompaktifizierung Lineare Adressbildung mit virtueller Adressierung

Mehr

Technische Informatik 1 - HS 2017

Technische Informatik 1 - HS 2017 Institut für Technische Informatik und Kommunikationsnetze Prof. L. Thiele Technische Informatik 1 - HS 2017 Übung 11 Datum: 21. 22. 12. 2017 Virtueller Speicher 1 Performanz Gehen Sie von einem virtuellen

Mehr

Grob-Struktur des Prozessor-Speichersystems

Grob-Struktur des Prozessor-Speichersystems 2.3.2 Speicherstruktur (1) Grob-Struktur des Prozessor-Speichersystems Chipsatz (Erklärung s. später, Folie 104) 22.4.-27.5.2013, Folie 52 2.3.2 Speicherstruktur (2) Zugriff Prozessor zumeist auf schnelle

Mehr

Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung

Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung Version 13.01.2015 1 Klausur Termin: 10. März 2016, 13:00 Uhr Raum: Audimax, KG 2 4 ECTS Punkte 3 Klausuranmeldung Anmeldefrist: 31.01.2016 (Ausnahme:

Mehr

Betriebssysteme Übung 2. Tutorium System Calls & Multiprogramming

Betriebssysteme Ü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

Mehr

Betriebssysteme I WS 2013/2014. Betriebssysteme / verteilte Systeme rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404

Betriebssysteme 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

Mehr

Technische Informatik 2 Speichersysteme, Teil 2

Technische 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

Mehr

Ein- und Ausgabegeräte

Ein- und Ausgabegeräte Blockorientiert Jeder Block kann unabhängig gelesen und geschrieben werden. Festplatten, CD-ROMs, USB-Sticks, etc. Zeichenorientiert Keine Struktur, nicht adressierbar, Daten werden als Folge von Zeichen

Mehr

Enterprise Computing Einführung in das Betriebssystem z/os. Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth WS2012/13

Enterprise 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

Mehr

Definitionen zum Verschnitt

Definitionen 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

Mehr

1. Speicher. Typische Nutzung eines Adreßraums. Systemsoftware. Textbereich relativ klein. Sehr großer Abstand zwischen Heap und Stack

1. 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

Rechnernutzung in der Physik. Betriebssysteme

Rechnernutzung 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:

Mehr

Adreßräume. Motivation. Seitenersetzung (Paging) Systemsoftware. = Referenzlokalität. Seite 2.1. Instruktionen werden wiederholt ausgeführt

Adreßräume. Motivation. Seitenersetzung (Paging) Systemsoftware. = Referenzlokalität. Seite 2.1. Instruktionen werden wiederholt ausgeführt Adreßräume Seitenersetzung (Paging) Motivation Instruktionen werden wiederholt ausgeführt Variablen werden wiederholt referenziert Gründe: Sequentielle Ausführung überwiegt Tatsächliche Prozedurverschachtelung

Mehr

Grundlagen der Informatik III Wintersemester 2010/2011

Grundlagen 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

Mehr

Proseminar Konzepte von Betriebssystem-Komponenten (KVBK) Vortrag zum Thema: Speicheraddressierung, Segmentierung, Paging Von Christian Hubert

Proseminar Konzepte von Betriebssystem-Komponenten (KVBK) Vortrag zum Thema: Speicheraddressierung, Segmentierung, Paging Von Christian Hubert Proseminar Konzepte von Betriebssystem-Komponenten (KVBK) Vortrag zum Thema: Speicheraddressierung, Segmentierung, Paging Von Christian Hubert 1.: Speicherung und Adressierung von Daten Bei der Speicheradressierung

Mehr

Speicherverwaltung und Cache Erläuterungen

Speicherverwaltung und Cache Erläuterungen theoretischen Grundlagen der Lernmaterial zum Modul - 31231 - der Fernuniversität Hagen Inhaltsverzeichnis 1 Speicherverwaltung 5 Erklärung.......................................... 5 1.1 Seitentabelle

Mehr