Bs-5.5.51 5.5.5 Der Speicherverwalter Speicherverwalter (memory manager) = im einfachsten Fall ein Systemprozess, der für die Umlagerung der Seiten (page.

Slides:



Advertisements
Ähnliche Präsentationen
Seitentauschstrategien in Theorie und Praxis für den Zentralspeicher
Advertisements

4.5 Virtueller Speicher Problemsituation: Programme und Daten sind zu groß für den verfügbaren Arbeitsspeicher Frühere Lösung Aufspaltung der Programme.
Kapitel 11 Deadlocks RW-Systemarchitekur Kap. 11.
Kapitel 8 Speicherverwaltung
Wiederholung Betriebssystem bietet eine Abstraktion der Hardware an:
Beim Start eines Prozesses in Windows NT, 2000 wird a der Programmtext aus der exe-Datei ab der dort angegebenen Adresse gespeichert.
1 Was ist ein klassischer Prozess? A eine exe-Datei B log. Adressraum, Ablaufumgebung für genau einen Thread C log. Adressraum, Ablaufumgebung für eine.
6.6 Persistenter 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ß,
Informatik Tagesprotokoll vom
FU Berlin SS 2003 Klaus-Peter Löhr
Enno Rehling und Roger Butenuth, Uni-GH Paderborn: Arminius: Software für Linux-basierte SCI-Cluster Arminius: Software für Linux-basierte SCI-Cluster.
SAP R/3 - Speichermanagement
Kapitel 8.1 Speicherverwaltung - Paging
Kapitel 7.2 Dining philosophers problem
Kapitel 8 Speicherverwaltung
FH-Hof Deadlocks Richard Göbel. FH-Hof Deadlock - Definition Menge von Prozessen ist an einem Deadlock beteiligt: wenn jeder Prozess in dieser Menge auf.
Kapitel 7 Prozesse und Threads
Vorlesung: Betriebssysteme © 2002 Prof. Dr. G. Hellberg 1 Studiengang Informatik FHDW Vorlesung Betriebssysteme 1. Quartal 2002.
Einführung Definitionen
1 Linux Paging, Caching und Swapping. 1 Vortragsstruktur Paging – Das Virtuelle Speichermodell –Die Page Table im Detail –Page Allocation und Page Deallocation.
Technische Informatik II Wintersemester 2002/03
Speicherverwaltung durch Swapping
Was ist ein Betriebssystem?
Speicher- verwaltung.
Kommission und Steuerung in wenigen Minuten Daten- und Steuerungsflexibilität in einem einzigen Netzwerk.
Thread Synchronisation in JAVA
Bs Gemeinsame Datensegmente am Beispiel Solaris [Beachte: Unix/Linux setzen keine Hardware-Segmentierung voraus und sprechen daher statt von.
einen korrekten Screenshot für den SPC (singleplayer contest) an ?
Speicher- verwaltung.
Studiengang Informatik FHDW
Betriebssysteme Übung Tutorium „TLB & Virtual Memory“
Petrinetze 1. Einführung Informatik : wesentlich Modellierung von
Gruppe 2 MEMORY MANAGEMENT Jakob Dietschy Arnold Huber
Vs Objektpufferung (caching) = dynamische, ad-hoc-Replikation einer Primärkopie: Zugriffswilliger beschafft sich temporär eine lokale Kopie cache.
Autor: Timo Pagel Nutzung: Diese Lernkarten sind für die Nutzung mit OpenCards gedacht Siehe dazu
5 Speicherverwaltung Pufferspeicher (cache)
Puffer-Verwalter (1) Aufgabe: Performanzkontrolle bzgl. Hauptspeichernutzung. Puffer-Verwalter versucht, Plattenzugriffe durch Vorhalten von häufig benötigten.
Studiengang Informatik FHDW
Recovery    AIFB SS (1/6) Durchführung der Recovery-Maßnahmen(1/6) Transaktions-Fehler (TF) T1 T2 T3 Zeitt Transaktion T2 wird vom.
2.3 Implementierung von Prozessen
KA – Rechnerarchitektur II ____________________________________________________________________________________________ ____________________________________________________________________________________________.
Dynamische Prioritäten Statische Prozess-Prioritäten sind sinnvoll, falls Prozesse in wenige Klassen einteilbar (3.3.3) Dynamische Prioritäten.
Jakob Dietschy Arnold Huber Karl Philip Schneider Lukas Unterberger Daniel Dötzl Gruppe 2 MEMORY MANAGEMENT.
Vs51 5 Verteilte Datenverwaltung. vs52 Situation:Zusammengehöriger Datenbestand ist über mehrere Stationen verteilt, z.B. Fragmentierung: in mehrere Fragmente.
Bs-61 6 Dateiverwaltung. bs-62 Datei (file) = abstraktes Datenobjekt mit folgenden Eigenschaften:  persistent ( = langzeitgespeichert auf Platte oder.
Bs Implementierung der Dateiverwaltung Für hohe Effizienz: Caching – vielfach werden Kopien von Plattendaten für längere Zeit im Arbeitsspeicher.
Bs Dateien als Segmente Idee:Datei = persistentes Segment Konsequenzen:  Datei kann in virtuellen Adressraum eingeblendet werden (memory-mapped.
6.2 Repräsentation auf Platten
Vs Objektpufferung (caching) = dynamische, ad-hoc-Replikation einer Primärkopie: Zugriffswilliger beschafft sich temporär eine lokale Kopie cache.
Bs Segmentierte Prozesse im virtuellen Speicher Zur Erinnerung:  Virtueller Speicher ermöglicht effiziente und komfortable Nutzung des realen.
LVM - Logical Volume Management unter Linux
Betriebssysteme Übung 2. Tutorium „System Calls & Multiprogramming“
Bs Segmentierung Adressraum besteht aus mehreren Segmenten (segments), die unabhängig voneinander manipulierbar sind. Segmentierungsstruktur ist.
C Tutorium – Shared Memory – Knut Stolze. 2 Shared Memory Ein Speicherbereich, auf den mehrere Prozesse Zugriff haben – Also kein privater Speicher –
Ein Leitfaden der erklärt, wie und aus was ein PC-System gebaut ist.
Pool Informatik, Sj 11/12 GZG FN W.Seyboldt 1 Pool Informatik 5 GZG FN Sj. 11/12 Kopieren, Daten, Programme.
Der Taskmanager ist Bestandteil des Betriebssystems, der als Prozessmanager Prozessmanager unter anderem die aktuell laufenden Programme und Prozesse.
Betriebssysteme: Theorie
Pointer. Grundsätzliches: Im Arbeitsspeicher werden Daten gespeichert. Um auf die Daten eindeutig zugreifen zu können, werden diesen Daten Adressen zugeordnet.
05-Betriebssysteme1 Was ist ein Betriebssystem? l Programm, das die Verbindung zwischen dem Benutzer, der Software und der Hardware herstellt l Die Installation.
Multiprocessing mit OpenMPI Marius Albath. Vorlesung Betriebssysteme, Was ist OpenMPI Was ist OpenMPI OpenMPI Standard Setup OpenMPI Standard.
Dr. Wolfram Amme, Automatische Speicherverwaltung, Informatik II, FSU Jena, SS Automatische Speicherverwaltung.
RAM (Random Access Memory)
Center for Biotechnology Bielefeld Bioinformatics Service Netzwerk - Programmierung Prozesse Alexander Sczyrba Jan Krüger.
Netzwerk - Programmierung
Kap. 4 Speicher- verwaltung Version vom
Studiengang Informatik FHDW
Einführung Definitionen
Einführung Definitionen
 Präsentation transkript:

bs Der Speicherverwalter Speicherverwalter (memory manager) = im einfachsten Fall ein Systemprozess, der für die Umlagerung der Seiten (page swapping) zuständig ist (analog zum Umlagerer/Swapper) reagiert auf Seitenfehler (Alarm) Beendigung einer Seitenumlagerung (Unterbrechung) Uhr (Unterbrechung) zwecks evtl. Working-Set-Auslagerung

bs Achtung: Seiten, in denen eine Ein/Ausgabe-Operation läuft, dürfen nicht ausgelagert werden! Entweder Ein/Ausgabe grundsätzlich nur über Pufferbereiche im speicherresidenten Teil des Betriebssystems oderSeite temporär einfrieren (freezing, pinning, locking) und nach beendeter Ein/Ausgabe wieder auftauen (thawing). Einfrieren/Auftauen ist auch beliebte Technik für Echtzeit-Anwendungen u.ä. !

bs Beispiel Unix System V betreibt Working Set Swapping mit globalem Seitenaustausch:  Wenn freie Rahmen knapp werden (Niedrigwassermarke), abgestandene Seiten auslagern, bis freie Rahmen reichlich vorhanden (Hochwassermarke).  Dies wird global praktiziert, ohne Berücksichtigung der verschiedenen Prozesse und gemeinsamer Seitenbenutzung. .....

bs  Gleichzeitiges Demand Paging.  Wenn abgestandene Seiten knapp werden (Seitenflattern droht!), ganze Prozesse auslagern, bis freie Rahmen reichlich vorhanden (Hochwassermarke).  Wenn ausgelagerte Prozesse vorhanden, aktive Code-Seite des ältesten einlagern.

bs Realisierung durch Zusammenwirken von 3 Prozessen:  Benutzerprozess steuert durch Seitenfehler das Demand Paging (Behandlungsroutine blockiert, bis die benötigte Seite eingelagert ist!).  Systemprozess Page Stealer versucht sicherzustellen, dass dafür immer freie Rahmen verfügbar sind; gelingt das nicht, wird der Swapper benachrichtigt:  Systemprozess Swapper besorgt das Working Set Swapping.

bs Beispiel Windows NT Speicherverwaltung ist aufgeteilt auf 6 System Threads mit wachsenden Prioritäten: 0Zero Page Thread hält einen Vorrat an freien Rahmen (gelöscht, zeroed) 16Balance Set Manager (im Sekundenabstand aktiviert) überwacht die Working Sets, aktiviert gegebenenfalls den Swapper, erhöht die Priorität verhungernder Prozesse

bs Modified Page Writer kopiert auszulagernde dirty-Seiten in den Hintergrundspeicher, trägt die freien Rahmen in die Freispeicherliste ein 23Swapper besorgt das Working Set Swapping, wirkt aktiviert vom Balance Set Manager [ferner für memory-mapped files (  6): 17Mapped Page Writer (analog zu Modified Page Writer) 18Dereference Segment Thread ]

bs Wahl der Seitengröße ? Gibt es eine optimale Seitengröße ? Kriteriumspricht fürkleine Seiten/ große Seiten Speicher sparen: Speicherverschnitt  Working-Set-Größe  Seitentabellen-Größe  Zeit sparen: Umlagerungszeit/Byte  BS-Aktivität 

bs Historische Tendenz: von kleinen zu größeren Seiten 2  16 KB (billigerer Arbeitsspeicher!) Wenn allerdings Speicher knapp ist: Balance zwischen Speicherverschnitt und Speicheraufwand für die Seitentabelle ? Prozessgröße p, z.B Bytes ( 1 MB) Seitengrößes Deskriptorgrößed, z.B. 2 Bytes

bs  interner Verschnitt:s/2 (im Mittel) Seiten je Prozess:p/s Seitentabelle je Prozess:d p/s  zu minimierender Speicherverbrauch: f(s) = s/2 + d p/s f‘(s) = ½ – d p/s 2 s opt =  (2 d p) z.B. 2 * 2 10 B = 2 KB s f

bs Verzögerte Speicherzuweisung Adressraum eines neuen Prozesses ist in der Regel nicht überall mit Code/Daten belegt.  Deskriptoren noch nicht benutzter Seiten brauchen noch nicht auf reale Rahmen zu verweisen. Erster Zugriffsversuch führt zu „Seitenfehler“ oder Zugriffsfehler, und daraufhin wird der Rahmen eingerichtet, d.h. realer Speicher belegt. (lazy memory allocation) (Eventuell kann BS sogar „Lesezugriff“ erkennen und dies als echten Programmfehler behandeln!)

bs copy-on-write: Beim Klonen eines Prozesses (Unix fork) muß nicht sofort eine vollständige Kopie des Prozesses erzeugt werden: Nur die Deskriptoren werden kopiert, und in diesen Kopien wird das w-Bit gelöscht. Lesezugriff: gemeinsame Benutzung der Seite. 1. Schreibzugriff: Zugriffsfehler veranlasst das BS, eine Kopie der Seite herzustellen, den Deskriptor darauf verweisen zu lassen und das w-Bit zu setzen.