8. Swapping und Virtueller Speicher



Ähnliche Dokumente
Betriebssysteme. Dipl.-Ing.(FH) Volker Schepper

Einführung in die technische Informatik

Technische Informatik II Wintersemester 2002/03 Sommersemester Heiko Holtkamp

Universität Bielefeld Technische Fakultät AG Rechnernetze und verteilte Systeme. Vorlesung 4: Memory. Wintersemester 2001/2002. Peter B.

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

5 Speicherverwaltung. bs-5.1 1

wichtigstes Betriebsmittel - neben dem Prozessor: Speicher

Banner T 1 T 2. Bild T 7 T 8. Fließtext T 9

Einrichtung des Cisco VPN Clients (IPSEC) in Windows7

teischl.com Software Design & Services e.u. office@teischl.com

Professionelle Seminare im Bereich MS-Office

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom b

Lehrer: Einschreibemethoden

Leichte-Sprache-Bilder

20. Algorithmus der Woche Online-Algorithmen: Was ist es wert, die Zukunft zu kennen? Das Ski-Problem

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

Benutzerhandbuch - Elterliche Kontrolle

Matrix42. Use Case - Sicherung und Rücksicherung persönlicher Einstellungen über Personal Backup. Version September

(Prof. Dr. J. Schlichter, WS 2011 / 2012) Übungsleitung: Dr. Wolfgang Wörndl (gbs-ws11@mailschlichter.informatik.tu-muenchen.de)

TeamSpeak3 Einrichten

Formular»Fragenkatalog BIM-Server«

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

2. ERSTELLEN VON APPS MIT DEM ADT PLUGIN VON ECLIPSE

Der Kalender im ipad

Kompetitive Analysen von Online-Algorithmen

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang

Regeln für das Qualitäts-Siegel

Updateanleitung für SFirm 3.1

Installation des Authorware Webplayers für den Internet Explorer unter Windows Vista

IntelliRestore Seedload und Notfallwiederherstellung

Eigene Dokumente, Fotos, Bilder etc. sichern

2. Die eigenen Benutzerdaten aus orgamax müssen bekannt sein

1. Allgemein Speichern und Zwischenspeichern des Designs Auswahl der zu bearbeitenden Seite Text ergänzen Textgrösse ändern 3

Die Invaliden-Versicherung ändert sich

SICHERN DER FAVORITEN

CA Übung Christian kann heute nicht kommen => ich bin heute da, Christian das nächste Mal wieder

Integrated Services Realtime Remote Network

Betriebssysteme KU - Bewertung A2 - WS 15/16

Word 2010 Schnellbausteine

Datenbank LAP - Chefexperten Detailhandel

2. Negative Dualzahlen darstellen

Linux Paging, Caching und Swapping

Anbindung des eibport an das Internet

ANLEITUNG. Firmware Flash. Seite 1 von 7

Etikettendruck mit Works 7.0

Menü auf zwei Module verteilt (Joomla 3.4.0)

- Zweimal Wöchentlich - Windows Update ausführen - Live Update im Norton Antivirusprogramm ausführen

Der neue persönliche Bereich/die CommSy-Leiste

Konzepte von Betriebssystemkomponenten Disk-Caches und Dateizugriff

Was meinen die Leute eigentlich mit: Grexit?

Installation OMNIKEY 3121 USB

Workshop: Eigenes Image ohne VMware-Programme erstellen

mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank

Facharbeit Informatik. Thema:

Dealer Management Systeme. Bedienungsanleitung. Freicon Software Logistik (FSL) für Updates

Die Post hat eine Umfrage gemacht

Speicherverwaltung (Swapping und Paging)

Howto. Einrichten des TREX Monitoring mit SAP Solution Manager Diagnostics

Mein eigener Homeserver mit Ubuntu LTS

Übung: Verwendung von Java-Threads

Internationales Altkatholisches Laienforum

Lieber SPAMRobin -Kunde!

Umgang mit der Software ebuddy Ändern von IP Adresse, Firmware und erstellen von Backups von ewon Geräten.

Internet online Update (Internet Explorer)

Advoware mit VPN Zugriff lokaler Server / PC auf externe Datenbank

Mediumwechsel - VR-NetWorld Software

Einrichten einer Festplatte mit FDISK unter Windows 95/98/98SE/Me

Virtueller Speicher. SS 2012 Grundlagen der Rechnerarchitektur Speicher 44

Windows 10 > Fragen über Fragen

Dieser Ablauf soll eine Hilfe für die tägliche Arbeit mit der SMS Bestätigung im Millennium darstellen.

10%, 7,57 kb 20%, 5,3 kb 30%, 4,33 kb 40%, 3,71 kb 50%, 3,34 kb. 60%, 2,97 kb 70%, 2,59 kb 80%, 2,15 kb 90%, 1,62 kb 99%, 1,09 kb

Wichtig ist die Originalsatzung. Nur was in der Originalsatzung steht, gilt. Denn nur die Originalsatzung wurde vom Gericht geprüft.

Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten

Tutorial -

Massenversand Dorfstrasse 143 CH Kilchberg Telefon 01 / Telefax 01 / info@hp-engineering.com

Checkliste für die Behebung des Problems, wenn der PC Garmin USB GPS-Geräte nicht erkennt.

Erweiterung AE WWS Lite Win: AES Security Verschlüsselung

Systemeinstellungen im Internet Explorer für WEB-KAT

Windows. Workshop Internet-Explorer: Arbeiten mit Favoriten, Teil 1

Handbuch Fischertechnik-Einzelteiltabelle V3.7.3

Bevor Sie mit dem Wechsel Ihres Sicherheitsmediums beginnen können, sollten Sie die folgenden Punkte beachten oder überprüfen:

Das Festkomitee hat die Abi-Seite neu konzipiert, die nun auf einem (gemieteten) Share Point Server

Wenn alle Referenzbits gleich 1, wird nach FIFO entschieden

Einlesen einer neuen Chipkarte in der VR-NetWorld Software Seccos 6 gültig bis 2013

Updatehinweise für die Version forma 5.5.5

Bedienung des Web-Portales der Sportbergbetriebe

Installation älterer Programmversionen unter Windows 7

5 Zweisprachige Seiten

DIE SCHRITTE ZUR KORREKTEN LIZENZIERUNG

OSF Integrator für Btracking und Salesforce Anleitung für die Nutzer

Internet online Update (Mozilla Firefox)

Wie gestaltet man Online-Umfragen mit SurveyMonkey?


Herzlich Willkommen bei der nfon GmbH

Tipps & Tricks - Neuerungen Nr. 6/ 2015

Informationen zum neuen Studmail häufige Fragen

Round-Robin Scheduling (RR)

Prozesse und Scheduling

AutoTexte und AutoKorrektur unter Outlook verwenden

Die neue Aufgabe von der Monitoring-Stelle. Das ist die Monitoring-Stelle:

Transkript:

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) werden ausgelagert: swapping. Einrichtung eines virtuellen Speichers, welcher wesentlich größer als der physikalische ist. Nicht gebrauchte Seiten können auf Platte ausgelagert sein: Demand Paging. page page page... memory map page n virtual memory physical memory disk Figure 4: Der virtuelle Speicher kann viel größer als der physikalische sein. Betriebssysteme Harald Kosch Seite 4

Swapping operating system swap out process p user space swap in process p main memory backing store Figure 4: Swapping von zwei Prozessen mit der Platte als Auslagerungsspeicher Programme werden ein- und ausgelagert (roll in/roll out) Die CPU-Zeit muß deutlich größer als die Übertragungszeit sein sonst ist es sinnlos I/-Puffer dürfen nicht ausgelagert werden Kleinere Prozesse werden schneller ausgelagert Betriebssysteme Harald Kosch Seite 44

Swapping in UNIX Frühere Systeme (auf PDP-) haben den ganzen Prozeß ein- und ausgelagert BSD und System V benutzen Demand Paging (siehe später) Dedizierter Swap-Bereich Swap-in: Wählt den am längsten ausgelagerten Prozeß oder den mit höchster Priorität aus Lagert eventuell andere Prozesse aus Swap-out: Gelockte Prozesse werden nicht ausgelagert Schlafende Prozesse werden beim Auslagern bevorzugt Verbrauchte Zeit im HS, sowie Priorität werden berücksichtigt Eine minimale Zeit (z.b. sec) ist jedem Prozeß garantiert (um thrashing zu vermeiden siehe später) Bei ready-prozessen werden die schon verbrauchte Zeit im HS und der nice -Wert berücksichtigt. Betriebssysteme Harald Kosch Seite 45

Swap-Ereignisse fork brk (vergrößert Speicherbedarf) Stack-Vergrößerung um swap-in möglich zu machen Probleme Es kann nicht genügend Speicher frei gemacht werden Thrashing Deadlock Das System verwendet mehr Zeit mit Swapping als mit nützlicher Arbeit Ausgelagerte und eingelagerte Prozesse blockieren einander gegenseitig Betriebssysteme Harald Kosch Seite 46

Demand Paging program A swap out 4 5 6 7 8 9 4 5 program B swap in 6 7 8 9 main memory Figure 44: Swapping von Pages. Benachbarte Seiten werden auf der Platte auch nebeneinander gespeichert wenn möglich Lazy Swapper Wir laden nur die Seiten, die wirklich gebraucht werden Wir speichern nur die veränderten Seite Betriebssysteme Harald Kosch Seite 47

4 5 7 A B C D E F 6 G H logical memory frame 4 5 6 7 4 6 9 valid/ invalid bit v i v i i v i i 4 5 6 7 8 9 A C F A backing store B C D E F 4 physical memory Figure 45: Die Pagetabelle, wenn einige Seiten nicht im Hauptspeicher sind. Page Fault (z.b. bei Zugriff auf Seite, mit Inhalt B): Das Betriebssystem wird aktiviert. Es muß die fehlende Seite laden. Betriebssysteme Harald Kosch Seite 48

page is on backing store operating system trap reference LOAD M i 6 restart instruction page table 5 reset page table free frame 4 bring in missing page physical memory Figure 46: Schritte bei der Behandlung eines Page Faults. Prüfe den Grund. Finde einen Frame. Lade die Seite 4. Ändere die Pagetabelle 5. Befehl von vorne anfangen Problemfälle: MVC: bewegt viele Bytes durch einen Befehl MOVE (A)+, -(A) typischerweise in einer Schleife push -t Vektor[A] auf Stack ( top of stack =A) Betriebssysteme Harald Kosch Seite 49

Seitenersetzung Overallocation Gesamtbedarf von aktiven Prozessen ist größer als der Arbeitsspeicher Die Seitentabelle darf voll werden Bei Bedarf lagern wir Seiten aus, um andere Seiten laden zu können Betriebssysteme Harald Kosch Seite 5

PC H Load M J M logical memory for user A B D E logical memory for user frame frame v 4 v 5 v i page table for user 6 7 valid/ invalid bit valid/ invalid bit v i v v page table for user 4 5 6 A 7 Monitor D H Load M J E physical memory B backing store M Figure 47: Seitenersetzung ist notwendig frame valid/ invalid bit swap out victim page f f v i v 4 change to invalid reset page table for new page f victim swap desired page in backing store physical memory Figure 48: Seitenersetzung Betriebssysteme Harald Kosch Seite 5

Algorithmen für Seitenersetzung 7 4 7 7 7 7 4 4 4 7 7 7 FIFO (First In First Out) Stragegie (5 Page Faults) 7 4 7 7 7 7 7 4 Der optimale Ersetzungsalgorithmus (9 Page Faults) 7 4 7 7 7 7 4 4 4 7 LRU (Least Recently Used) Algorithmus ( Page Faults) FIFO Die älteste Seite wird ersetzt Der optimale Algorithmus Die Seite, die in der weitesten Zukunft wiederverwendet wird, wird ersetzt die Zukunft kennen wir nicht LRU (Least Recently Used) Versucht von der Vergangenheit auf die Zukunft zu schließen. Ersetzt die am längsten unbenutzte Seite Betriebssysteme Harald Kosch Seite 5

Youngest Oldest 4 4 4 = = = = = 4 = = = 4 = frames, 9 faults 4 4 = = 4 4 = = 4 = = 4 = = 4 4 frames, faults Figure 49: Belady s Anomaly mit dem FIFO Algorithmus Betriebssysteme Harald Kosch Seite 5

Implementierung von LRU Ein Zähler wird durch die Hardware nach jedem Befehl erhöht und der aktuellen Seite zugewiesen. Die Seite mit dem kleinsten Wert ist zu ersetzen Bei n Seiten wird eine n n Matrix von der Hardware verwaltet. Beim Zugriff auf die Seite k; Zeile k, Spalte k. Die Zeile mit dem kleinsten Binärwert gibt die am längsten unbenützte Seite an (a) Page (b) Page (c) Page (d) Page (e) (f) (g) (h) (i) (j) Page Figure 5: LRU mit einer Matrix. Referenzsequenz: LRU ist viel zu teuer. Betriebssysteme Harald Kosch Seite 54

NFU (Not Frequently Used) Annäherung an LRU Jede Seite hat einen mit ihr assoziierten Zähler Das Betriebssystem addiert das R-Bit (Referenced) periodisch zum Seitenzähler. Die Seite mit dem kleinsten Zählerwert ist zu ersetzen Problem: NFU vergißt nichts, einmal häufig benutzte Seiten haben einen hohen Zählerstand Lösung: Aging Der Zähler von unbenutzten Seiten wird periodisch dekrementiert Betriebssysteme Harald Kosch Seite 55

Implementierung von Aging Die Zähler werden vor der Aktualisierung um nach rechts geschoben Das R-Bit wird beim höchsten Stellenwert (links) addiert Damit tendiert ein alter Zähler gegen R bits for pages -5, clock tick R bits for pages -5, clock tick R bits for pages -5, clock tick R bits for pages -5, clock tick R bits for pages -5, clock tick 4 Page 4 5 (a) (b) (c) (d) (e) Figure 5: Der Aging-Algorithmus simuliert LRU in Software. Die Darstellung zeigt sechs Seiten für fünf Clock-ticks (a) - (e) Achtung: -(d) ist falsch, richtig wäre:! Betriebssysteme Harald Kosch Seite 56

NRU (Not Recently Used) Benötigt die R (Referenced) und M (Modified) Bits pro Seite, möglicherweise durch die Hardware gesetzt Die Seiten können folgende Klassen bilden: Class: R = M = Class: R = M = Class: R = M = Class: R = M = (Class kann indirekterweise aus Class entstehen: Clock-IT löscht das R-Bit, das M-Bit aber bleibt gesetzt.) Seiten der unteren Klassen werden ersetzt Simulation der R und M Bits in Software:. Seite wird als invalid markiert. Erster Fault R. Seite wird als read-only markiert Zweiter Fault M Hardware Valid Software Valid Software Reference Hardware Valid Software Valid Software Reference Off On Off Off On On (a) Before Referencing Page (a) After Referencing Page Figure 5: Nachbildung des R-Bits in Software. Betriebssysteme Harald Kosch Seite 57

Second Chance Eine Modifikation von FIFO Einer Seite wird vor der Ersetzung eine zweite Möglichkeit gegeben Wird sie wieder benutzt, bleibt sie geschont Wird wieder ans Ende der FIFO-Liste gereiht Benötigt nur R-Bit als Unterstützung in der Hardware Page loaded first A B 7 C 8 D E 4 F 5 G 8 H Most recently loaded page (a) B 7 C 8 D E 4 F 5 G 8 H A A is treated like a newly loaded page (b) Figure 5: Arbeitsweise von Second Chance. (a) Seiten nach FIFO sortiert. (b) Seitenliste wenn ein Seitenfehler auftritt zum Zeitpunkt und A hat sein R-Bit gesetzt Betriebssysteme Harald Kosch Seite 58

Der Clock-Algorithmus Ist eine verbesserte Implementierung von Second Chance Hält die Seiten in einem Ringpuffer. Damit entfällt die Verschiebung der Seite vom Kopf zum Ende der Liste Wenn auf der Seite auf die der Zeiger gerade zeigt, das R-Bit gesetzt ist, wird sie begnadigt sonst ersetzt L A B J K I C E D When a page fault occurs, the page the hand is pointing to is inspected. The action taken depends on the R bit: R = : Evict the page R = : Clear R and advance hand H G F Figure 54: Der Clock-Algorithmus Betriebssysteme Harald Kosch Seite 59

Thrashing Thrashing tritt auf, wenn das System (zumindest ein Prozeß) mehr Zeit mit Paging als mit der Durchführung seiner Aufgabe verbringt Das Betriebssystem merkt, daß die CPU-Auslastung sinkt Es erhöht den Grad der Multiprogrammierung Swapping wird noch intensiver: Positive Rückkoppelung (eine Art teuflischer Kreis ) Anzahl der Page Faults steigt Multiprogramming sinkt Swapping und Warten steigt Scheduler erhöht Multiprogramming CPU utilization thrashing degree of multiprogramming Figure 55: Thrashing Betriebssysteme Harald Kosch Seite 6

Speicherverwaltung in Linux Seitenallozierung, -deallozierung Abstraktes Modell des virtuellen Speichers: -stufige Page-Tabellen muß auf die jeweilige Hardware abgebildet werden Virtual address Level Level Level Byte in page PFN PFN PFN Page Table Page Table Page Table Physical page Figure 56: Linux Pagetabelle Alle physikalischen Seiten (mem map t, auch page genannt) sind auf einer Liste (mem map) zusammengefaßt Betriebssysteme Harald Kosch Seite 6

Wichtigste Felder im mem map t count: Anzahl der Benutzer der Seite age: Alter Wie gut geeignet für Auslagern map nr: Physikalische Framenummer (PFN ) (Seitengröße ist fix, z.b. 4KB auf Intel, 8KB auf Alpha) Seitenallozierung: Verwendet Buddy Algorithmus free area-vektor:. Element enthält Einzelseiten,. Element Doppelseiten,. Element Blöcke von 4 Seiten etc. Enthält sowohl freie als auch belegte Blöcke list: Kopf der Liste der freien Blöcke map: Zeigt auf ein Bitmap (pro Seitengruppe). Bit N ist gesetzt, wenn der N-te Block frei ist Deallozierung Zusammenhängnde Blöcke werden mit Hilfe des Bitmaps verschmolzen (und im Vektor entsprechend verschoben) Betriebssysteme Harald Kosch Seite 6

6... Here, the elements keep the number of pages a block consists of. 5 56 8 64 6 8 4 free_area Figure 57: Behandlung von freien Blöcken in Linux Betriebssysteme Harald Kosch Seite 6