Speicher. Betriebssysteme. Hermann Härtig TU Dresden
|
|
- Ida Burgstaller
- vor 5 Jahren
- Abrufe
Transkript
1 Speicher Betriebssysteme Hermann Härtig TU Dresden
2 Aufgaben der Speicherverwaltung 3G 20K 8K 0 BS Stack BSS Data Text Bereitstellung von Adressräumen Aufbau von Adressräumen durch Zuordnung logischer Objekte (Code- Segment, Daten-Segment, Stack, ) Verwaltung des Betriebsmittels Hauptspeicher Schutz vor unerlaubten Zugriffen Organisation der gemeinsamen Nutzung ( Sharing ) physischen Speichers und logischer Objekte Betriebssysteme WS 2018, Speicher!2
3 Wegweiser Elementare Techniken Virtueller Speicher (Paging) Anliegen, Begriffe, Vorgehen Adressumsetzung Seitenersetzung Speicherobjekte Caches Betriebssysteme WS 2018, Speicher!3
4 Statisch Statische Speicherverwaltung keine Ein-/Auslagerung von Programmen/Daten Einfach-Rechner (MS-DOS), eingebettete Systeme Monoprogramming: ein Programm gleichzeitig Programme werden nacheinander geladen und ausgeführt 0xFF.. BIOS (Gerätetreiber) Benutzerprogramm 0x0 Betriebssysteme WS 2018, Speicher!4 BS
5 Multiprogramming Mehrere Benutzer-Programme gleichzeitig; für jedes Benutzerprogramm gibt es einen oder mehrere Prozesse Motivation (vgl. Prozesse) mehrere Benutzer eines Rechners (multiuser) mehrere Benutzerprozesse eines Benutzers Benutzerprozesse und Systemprozesse Multiprogramming vs. parallele Threads/Prozesse parallele Prozesse Voraussetzung für Multiprogramming denkbar ist Monoprogramming mit vielen parallelen Prozessen z. B.: die ersten BS für Parallelrechner erlaubten nur ein Benutzerprogramm zur gleichen Zeit, das aber aus vielen Prozessen/Threads bestehen konnte Betriebssysteme WS 2018, Speicher!5
6 Feste oder Variable Speicher-Partitionierung Relokation Programme verwenden unterschiedliche Adressen, wenn sie in unterschiedlichen Partitionen ablaufen Umsetzen der Adressen beim/vor dem Laden (Software) zur Laufzeit (Hardware) Programm4 leer Programm2 leer Programm1 Betriebssystem Schutz der Partitionen voreinander Überprüfung der Adressen zur Laufzeit (Hardware) Betriebssysteme WS 2018, Speicher!6
7 Einfaches Modell: Basis- und Limit-Register CPU Programm4 LR BR leer Programm2 gesamte Adressierung relativ zu Basis-Register z. B.: load R, 100 Zugriff auf: BR+100 leer Programm1 Betriebssystem Unterbindung aller Zugriffe auf Bereiche außerhalb [BR,LR] Konsequenz für Implementierung eines Prozess-Systems: bei Umschaltung müssen auch BR und LR umgeschaltet werden Betriebssysteme WS 2018, Speicher!7
8 Wachsen von Partitionen B B A A Einlagerungsalgorithmen zur Verringerung des Verschnitts First fit, Best fit, Buddy, Verwaltung Bitmaps, Listen, Bäume, Betriebssysteme WS 2018, Speicher!8
9 Swapping: Ein-/Auslagern ganzer Prozesse Vorgehen Partitionen von blockierten Prozessen werden auf persistenten Speicher ausgelagert (z. B. auf Platte) und bei Gelegenheit wieder eingelagert. Mehrebenen-Scheduling auch bereite Prozesse werden ausgelagert Fragestellungen wachsende Partitionen Speicherverschnitt (externe Fragmentierung) Betriebssysteme WS 2018, Speicher!9
10 Partitionen: Nachteile und Probleme Verschnitt: Speicherfragmente zwischen den Partitionen können unpassende Größe haben Programmstartzeiten: vollständiges Laden vor Ausführung Limitation der Größe eines Prozesses durch verfügbaren Hauptspeicher ruhende Teile: auch ungenutzte Bereiche belegen Speicher Ein-/Auslagerungszeit: vollständiger Prozess wird ausgelagert Platzbedarf auf Externspeicher Betriebssysteme WS 2018, Speicher!10
11 Overlays Überlagerungstechnik Programmierer organisiert sein Programm in Stücken, die nicht gleichzeitig im Hauptspeicher sein müssen Beliebig große Programme durch Overlays Hauptspeicher Hauptprogramm Overlaytabelle Overlay1 Overlay2 Overlay3 Betriebssysteme WS 2018, Speicher!11
12 Wegweiser: Virtueller Speicher Anliegen, Begriffe, Vorgehen Adressumsetzung Seitenersetzung Speicherobjekte Betriebssysteme WS 2018, Speicher!12
13 Adressraum Begriff Menge direkt zugreifbarer Adressen und deren Inhalte Größe bestimmt durch Rechner-Architektur Physischer Adressraum durch Adressleitungen gebildeter Adressraum, z. B. am Speicher- oder Peripherie-bus eines Rechners Abbildung der Prozessor-Adressen auf die vorhandenen Speicherbausteine und E/A-Controller Virtueller (logischer) Adressraum eines Prozesses dem Prozess zugeordneter Adressraum Betriebssysteme WS 2018, Speicher!13
14 Physische Adressräume CPU Bridge I/O I/O MEM Betriebssysteme WS 2018, Speicher!14
15 Nutzung eines virtuellen Adressraums Unix-Adressraum Programm Daten Keller BS Jeder Prozess bekommt seinen eigenen virtuellen Adressraum zur exklusiven Nutzung Prozess kann diesen nach eigenen Anforderungen individuell gestalten Regionen (Segmente) Logisch zusammenhängende Adressbereiche Speicherobjekte werden Regionen zugeordnet: Mapping Betriebssysteme WS 2018, Speicher!15
16 Virtueller Speicher Forderungen an Adressräume und ihre Implementierung groß (soweit die Hardware zulässt, z. B. jeder bis zu 4 GB) frei teilbar und nutzbar Fehlermeldung bei Zugriff auf nicht belegte Bereiche Schutz vor Zugriffen von anderen Prozessen Einschränken der Zugriffsrechte auf bestimmte Bereiche (z. B. Code nur lesen) sinnvoller Einsatz des physischen Speichers: effiziente Nutzung durch viele Prozesse, kurze Ladezeiten transparent für Programmierer, aber steuerbar Betriebssysteme WS 2018, Speicher!16
17 Idee: Indirektion Prinzipien der virtuellen Speichers Prozess (Code, Daten) arbeitet mit virtuellen Adressen flexible Abbildung auf physische Adressen Granularität durch Partitionierung des virtuellen Adressraums in Seiten / Pages der Hauptspeichers in Kacheln / Rahmen / Page Frames jeweils gleicher Größe Organisation der Zuordnung der Stücke zueinander durch Hardware und Betriebssystem Betriebssysteme WS 2018, Speicher!17
18 Eine denkbare Situation Programm Daten BSS Keller BS unbenutzt, ungültig gerade im Hauptspeicher gerade nicht im Hauptspeicher, aber ein gültiger Bereich z. B. ausgelagert auf Platte Betriebssysteme WS 2018, Speicher!18
19 Beobachtung Voraussetzung: Lokalitätsprinzip Der von einem Prozess innerhalb eines bestimmten Zeitintervalls benötigte Teil seines Adressraumes verändert sich nur mehr oder weniger langsam. Ursachen sequentielle Arbeit eines VON-NEUMANN-Rechners Programmcode enthält Schleifen Programmierung in Modulen Zugriff auf gruppierte Daten Betriebssysteme WS 2018, Speicher!19
20 Virtueller Speicher: Begriff Der virtuelle Speicher ist eine Technik, die jedem Prozess einen eigenen, vom physischen Hauptspeicher unabhängigen logischen (virtuellen) Adressraum bereitstellt, basierend auf einer Partitionierung von Adressräumen in Einheiten einheitlicher Größe (Seiten, Rahmen) einer Adressumsetzung durch Hardware, gesteuert durch das Betriebssystem der Nutzung eines externen Speichermediums einer Ein- und Auslagerung von Teilen des logischen Adressraums eines Prozesses durch Betriebssystem Betriebssysteme WS 2018, Speicher!20
21 Teilaufgaben Virtueller Speicher im Betriebssystem Verwaltung des Betriebsmittels Hauptspeicher Aufbau der Adressraumstruktur: Speicherobjekte und Regionen Seitenfehler-Behandlung Interaktion der Prozess- und Speicher-Verwaltung Betriebssysteme WS 2018, Speicher!21
22 Wegweiser: Virtueller Speicher Anliegen, Begriffe, Vorgehen Adressumsetzung Seitenersetzung Speicherobjekte Betriebssysteme WS 2018, Speicher!22
23 Rechnerarchitektur: Addressumsetzung CPU E/A- Geräte V virtuelle Adresse MMU MEM IOMMU P physische Adresse MMU (Memory Management Unit) Abbildung: virtuelle reale (physische) Adresse Schutz bestimmter Bereiche (lesen/schreiben) Betriebssystemaufruf bei abwesenden/geschützten Seiten: Seitenfehler / Page Fault Betriebssysteme WS 2018, Speicher!23
24 Prinzipielle Arbeitsweise einer MMU V virtuelle Adresse P physische Adresse Betriebssysteme WS 2018, Speicher!24
25 Prinzipielle Arbeitsweise einer MMU CPU V virtuelle Adresse Seiten# Offset Seitentabelle Kachel# Present Rechte P Zeiger physische Adresse Betriebssysteme WS 2018, Speicher!25
26 Prinzipielle Arbeitsweise einer MMU CPU V virtuelle Adresse Seiten# Offset Seitentabelle Kachel# Present Rechte P Zeiger Tabellenindex physische Adresse Betriebssysteme WS 2018, Speicher!26
27 Prinzipielle Arbeitsweise einer MMU CPU V virtuelle Adresse Seiten# Offset Seitentabelle Kachel# Present Rechte Kachel# Offset P Zeiger Tabellenindex Kopie physische Adresse Betriebssysteme WS 2018, Speicher!27
28 Aufbau eines Seitentabelleneintrags referenced writable present page frame number modified protection Seiten-Attribute present Seite befindet sich im Hauptspeicher protection erlaubte Art von Zugriffen (CPU-Modus) writable schreibbar, manchmal auch executable-bit modified schreibender Zugriff ist erfolgt ( dirty ) referenced irgendein Zugriff ist erfolgt Betriebssysteme WS 2018, Speicher!28
29 Bei jedem Speicherzugriff: Speicherzugriff MMU überprüft Präsenz und Rechte mögliche Fehler: not present, not writable, protected, Ablauf eines Seitenfehlers (exception): Zurücksetzen des auslösenden Befehls Umschaltung des Prozessormodus Ablegen einer Beschreibung des Zustandes, der auslösenden Adresse und der Zugriffsart auf dem Stack Sprung in den Kern Seitenfehlerbehandlung durch Betriebssystem letzte Instruktion des Handlers: iret Betriebssysteme WS 2018, Speicher!29
30 Seitenfehlerbehandlung Echter Fehler zum Beispiel Zugriff auf ungültigen Speicherbereich Prozess wird Signal SIGSEGV zugestellt Standardreaktion: Prozess wird beendet Reparabler Seitenfehler Zugriff gültig, aber Seite momentan nicht im Speicher wird transparent im Betriebssystem behandelt je nach Speicherobjekt zum Beispiel durch Nachladen entsprechende Manipulation der Seitentabelle Prozess wird anschließend fortgesetzt Betriebssysteme WS 2018, Speicher!30
31 Seiten, Kacheln, Blöcke Adressräume z. B. 4 GB Seite Kachel/Rahmen Block MMU Hardware BS Software Hauptspeicher z. B. 4 GB Plattenspeicher z. B. 4 TB Betriebssysteme WS 2018, Speicher!31
32 MMU-Probleme: Größe und Geschwindigkeit Problem 1: Größe ein Beispiel Realspeicher: 4 GB virtuelle Adressen: 64 Bit Seitengröße: 4 KB Aufteilung virt. Adr.: 52 Bit Index in der Seitentabelle Größe Seitentabelle: 2 52 * 8B = 16PB pro Prozess Problem 2: Geschwindigkeit der Abbildung ein Beispiel CPU-Takt: 1 GHz 1 ns (4 Speicherzugriffe) Speicher-Latenz: ns Betriebssysteme WS 2018, Speicher!32
33 Problem 1: Baumstrukturierte Seitentabellen CPU V PageDirIdx Seitennummer PageTableIdx Offset P Kachelnummer Offset Zeiger Tabellenindex Kopie Betriebssysteme WS 2018, Speicher!33
34 Eigenschaften baumstrukturierter Seitentab. beliebig schachtelbar: 64-Bit-Adressräume Seitentabellen nur bei Bedarf im Hauptspeicher: auf höherer Stufe kann bereits vermerkt sein, dass keine Unter-Tabellen vorhanden sind, dadurch Platz-Einsparung Zugriff auf Hauptspeicher wird noch langsamer: 2 oder mehr Umsetzungsstufen Hierarchiebildung möglich (nächste Folie): z. B. durch Schreibsperre in höherstufiger Tabelle ist ganzer Adressbereich gegen Schreiben schützbar Gemeinsame Nutzung ( Sharing ) Seiten und größere Bereiche in mehreren Adressräumen gleichzeitig Betriebssysteme WS 2018, Speicher!34
35 Hierchiebildung CPU V PageDirIdx PageTableIdx Offset Schreibschutz sperrt gesamten durch eine Untertabelle definierten Bereich Schreibschutz sperrt eine einzelne Seite P Kachelnummer Offset Zeiger Tabellenindex Kopie Betriebssysteme WS 2018, Speicher!35
36 Problem 2: Schnellere Abbildung CPU TLB V virtuelle Adresse V P P physische Adresse MMU MEM Translation Look Aside Buffer (TLB) schneller Speicher für schon ermittelte Abbildungen virtueller auf physische Adressen wird vor Durchsuchen der Seitentabellen inspiziert muss eventuell bei Adressraumwechsel gelöscht werden Betriebssysteme WS 2018, Speicher!36
37 Alternative Implementierungen Alternative: Inverse Seitentabellen zu jeder Kachel wird Prozess-Id, Seitennummer geführt bei TLB-miss wird gesucht Implementierung als Hash-Tabellen (Hashed Page Tables) z. B. PowerPC-Architektur Vorteile: kleine Seitentabellen, nur abhängig von Anzahl der Kacheln Nachteile: Suchaufwand, keine Hierarchiebildung (z. B. Schreibschutz für größere Bereiche), Sharing aufwändig Betriebssysteme WS 2018, Speicher!37
38 Alternative Implementierungen Alternative: Software-implementierte Seitentabellen MMU benutzt nur TLB Seitentabellen oder beliebige andere Datenstruktur wird in Software vom Betriebssystem verarbeitet Seitenfehlerbehandlung lädt TLB neu z. B. Alpha-Architektur Vorteil: total flexibel, Prozess-spezifische Verwaltung Nachteil: hoher Overhead bei TLB-misses Betriebssysteme WS 2018, Speicher!38
39 Wegweiser: Virtueller Speicher Anliegen, Begriffe, Vorgehen Adressumsetzung Seitenersetzung Speicherobjekte Betriebssysteme WS 2018, Speicher!39
40 Hauptspeicherverwaltung Aufgaben Zuteilung von Kacheln bei Speicheranforderung Buchführung: welche Kacheln sind belegt und durch wen Entziehen von Kacheln bei Speicherknappheit Frage: Welche Kachel wird bei Knappheit verdrängt? Betriebssysteme WS 2018, Speicher!40
41 Seitenersetzungsverfahren Problem Eine Kachel wird benötigt, aber der Speicher ist voll. Eine Seite ist zu verdrängen. Wie wird verdrängt? Kachel aus Seitentabelle austragen (TLB-Eintrag löschen) falls modifiziert: Sichern des Inhalts auf persistentem Speicher Welche Seite wird verdrängt? optimal: die Seite wird verdrängt, die in Zukunft am längsten nicht benötigt wird (im Besten Fall nie wieder) Realität: Heuristiken basierend auf Lokalitätsprinzip, Nutzung der Attribute modified und referenced Betriebssysteme WS 2018, Speicher!41
42 Propagieren von Attributen Kacheln können mehreren Seiten zugeordnet sein Attribute werden durch Hardware für Seiten (nicht Kacheln) gesetzt daher: Propagieren der Attribute von Seiten zu Kacheln Rückkehrabbildung welchen Seiten ist eine gegebene Kachel zugeordnet Seite in Adressraum A: referenced, not modified Seite in Adressraum B: not referenced, modified Kachel: referenced, modified Betriebssysteme WS 2018, Speicher!42
43 Strategie: FIFO First In First Out Verdränge die älteste Seite, d.h. die Kachel, die schon am längsten ihren jetzigen Inhalt hat Vorteil keine Information über tatsächliches Referenzverhalten nötig einfach implementierbar Nachteil ignoriert Lokalitätsverhalten dadurch mit typischem Code viele unnötige Seitenfehler BELADY sche Anomalie Betriebssysteme WS 2018, Speicher!43
44 Strategie: LRU Least Recently Used Verdränge am längsten nicht genutzte Seite Vorteil in der Praxis gute Näherung für optimalen Algorithmus Nachteil sehr aufwendige Realisierung jeder Speicherzugriff müsste berücksichtigt werden Hardware müsste alle Zugriffe protokollieren daher nur Annäherungen per Software möglich Betriebssysteme WS 2018, Speicher!44
45 Strategie: NRU Not Recently Used Verdränge eine aktuell ungenutzte Seite, d.h. Wahl einer beliebigen Kachel in folgender Rangfolge: nicht benutzt, nicht modifiziert benutzt, nicht modifiziert nicht benutzt, modifiziert benutzt, modifiziert Ermitteln der zeitlichen Lokalität durch regelmäßiges Zurücksetzen der referenced-bits nach Zeitintervall oder reihum Betriebssysteme WS 2018, Speicher!45
46 Strategie: Second Chance Verdränge die älteste (nach FIFO), im Inspektionsintervall nicht referenzierte (NRU) Seite A B C D E : referenced-flag! Bei den Seiten, die auf die Kacheln A, B und E abgebildet werden, ist das referenced-flag momentan gesetzt Betriebssysteme WS 2018, Speicher!46
47 Strategie: Second Chance Verdränge die älteste (nach FIFO), im Inspektionsintervall nicht referenzierte (NRU) Seite A B C D E : referenced-flag C A B C D E! C wird referenziert Betriebssysteme WS 2018, Speicher!47
48 Strategie: Second Chance Verdränge die älteste (nach FIFO), im Inspektionsintervall nicht referenzierte (NRU) Seite A B C D E : referenced-flag A B C D E! E wird referenziert E A B C D E Betriebssysteme WS 2018, Speicher!48
49 Strategie: Second Chance Verdränge die älteste (nach FIFO), im Inspektionsintervall nicht referenzierte (NRU) Seite A B C D E A B C D E A B C D E : referenced-flag! X wird referenziert Seitenfehler BS benötigt eine freie Kachel Seitenersetzung X A B C D E Betriebssysteme WS 2018, Speicher!49
50 Strategie: Second Chance Verdränge die älteste (nach FIFO), im Inspektionsintervall nicht referenzierte (NRU) Seite X A B C D E A B C D E A B C D E A B C D E : referenced-flag! X wird referenziert Seitenfehler BS benötigt eine freie Kachel Seitenersetzung! von A beginnend sucht das BS eine Kachel ohne referenced- Flag, dabei werden die ref-flags in den Seitentabellen gelöscht Betriebssysteme WS 2018, Speicher!50
51 Strategie: Second Chance Verdränge die älteste (nach FIFO), im Inspektionsintervall nicht referenzierte (NRU) Seite A B C D E A B C D E A B C D E A B C X E : referenced-flag! X wird referenziert Seitenfehler BS benötigt eine freie Kachel Seitenersetzung! von A beginnend sucht das BS eine Kachel ohne referenced- Flag, dabei werden die ref-flags in den Seitentabellen gelöscht! D wurde zuletzt nicht referenziert D wird ersetzt Betriebssysteme WS 2018, Speicher!51
52 Strategie: Second Chance Verdränge die älteste (nach FIFO), im Inspektionsintervall nicht referenzierte (NRU) Seite A B C D E A B C D E A B C D E A B C X E E A B C X : referenced-flag! X wird referenziert Seitenfehler BS benötigt eine freie Kachel Seitenersetzung! von A beginnend sucht das BS eine Kachel ohne referenced- Flag, dabei werden die ref-flags in den Seitentabellen gelöscht! D wurde zuletzt nicht referenziert D wird ersetzt! FIFO-Liste wiederherstellen Betriebssysteme WS 2018, Speicher!52
53 Strategie: Second Chance Verdränge die älteste (nach FIFO), im Inspektionsintervall nicht referenzierte (NRU) Seite A B C D E : referenced-flag A B C D E! A wird referenziert 2. Chance A B C D E A B C X E E A B C X A E A B C X Betriebssysteme WS 2018, Speicher!53
54 Strategie: Clock-Algorithmus Elegantere Implementierung von Second Chance, ansonsten gleiches Verhalten while (Kachel[i].referenced) { // wenn Kachel referenziert Kachel[i].referenced = 0; // Flag löschen i = (i + 1) % FRAME_COUNT; // Zeiger weiterdrehen } // Seite in Kachel Nummer i // verdrängen i = (i + 1) % FRAME_COUNT; // Zeiger weiterdrehen J K I L H A G B F C E D Vorteil effizient implementierbar, gute Näherung an LRU Betriebssysteme WS 2018, Speicher!54
55 Strategie: Aging bessere LRU-Näherung durch genaueres Speichern der Zugriffs-Historie Kachel mit ältestem Inhalt wird verdrängt Analogie: Geburtsjahr niedrige Zahl hohes Alter Nachteil höherer Overhead durch Auslesen der referenced-bits in regelmäßigen Zeitintervallen (Ticks) Betriebssysteme WS 2018, Speicher!55
56 Strategie: Aging Betriebssysteme WS 2018, Speicher!56
57 Strategie: Aging A D Betriebssysteme WS 2018, Speicher!57
58 Strategie: Aging Tick 1 A D Betriebssysteme WS 2018, Speicher!58
59 Strategie: Aging A B C D Betriebssysteme WS 2018, Speicher!59
60 Strategie: Aging Tick 2 A B C D Betriebssysteme WS 2018, Speicher!60
61 Strategie: Aging A B C D Betriebssysteme WS 2018, Speicher!61
62 Strategie: Aging Tick 3 A B C D Betriebssysteme WS 2018, Speicher!62
63 Strategie: Aging A B C D Seitenersetzung Age Betriebssysteme WS 2018, Speicher!63
64 Strategie: Arbeitsmengenmodell Problem bisherige Strategien ignorieren Prozess-Zugehörigkeit von Kacheln, keine Fairness inaktiver Prozess kann vollständig verdrängt werden Seitenflattern (Thrashing) Arbeitsmenge / Working Set Betrachtung der Seitenreferenzfolge eines Prozesses durch ein Fenster der Länge T (sog. Arbeitsmengen-Parameter) Arbeitsmenge w(t, T) zum Zeitpunkt t bzgl. T: Menge der im Intervall [t T, t] referenzierten Seiten Annahme: kleine Menge durch mehrfache Zugriffe auf wenige Seiten Betriebssysteme WS 2018, Speicher!64
65 Vorgehen Strategie: Arbeitsmengenmodell Bestimmung der Arbeitsmenge durch regelmäßiges Auslesen der referenced-bits für aktive und bereite Prozesse muss sich mindestens die Arbeitsmenge im Speicher befinden Nachteile wenn alle Kacheln in einer Arbeitsmenge sind, dann findet Algorithmus keinen Verdrängungskandidaten Reservestrategie nötig, zum Beispiel Prozess auslagern geeignete Wahl der Fenstergröße nötig Betriebssysteme WS 2018, Speicher!65
66 Seitenverdrängung insgesamt void pagefault(page) { f r a m e = g e t _ f r e e _ f r a m e ( ) ; i f (! f r a m e ) { // keine Kachel mehr frei f r a m e = r e p l a c e m e n t _ s t r a t e g y ( ) ; } i f ( f r a m e. m o d i f i e d ) s a v e _ c o n t e n t ( f r a m e ) ; r e m o v e _ f r o m _ p a g e t a b l e ( f r a m e ) ; // aus zugehörigem Adressraum entfernen } f i l l _ c o n t e n t ( f r a m e ) ; // siehe Speicherobjekte i n s e r t _ i n t o _ p a g e t a b l e ( f r a m e ) ; // in Ziel-Adressraum eintragen Betriebssysteme WS 2018, Speicher!66
67 Wegweiser: Virtueller Speicher Anliegen, Begriffe, Vorgehen Adressumsetzung Seitenersetzung Speicherobjekte Betriebssysteme WS 2018, Speicher!67
68 Speicherobjekte Text/Code-, Daten- und andere Segmente eines Prozesses Dateien Gerätespeicher, zum Beispiel Grafikspeicher über Netzwerk verteilter Speicher Betriebssysteme WS 2018, Speicher!68
69 Speicherobjekte und Regionen Datei, D08 Datei, D47 Betriebssysteme WS 2018, Speicher!69
70 Speicherobjekte und Regionen Datei, D08 Datei, D47 Betriebssysteme WS 2018, Speicher!70
71 Speicherobjekte und Regionen Datei, D08 Datei, D47 Betriebssysteme WS 2018, Speicher!71
72 Speicherobjekte und Regionen Datei, D08 Datei, D47 Betriebssysteme WS 2018, Speicher!72
73 Speicherobjekte und Regionen Regionmanager Datei, D08 Datei, D47 Betriebssysteme WS 2018, Speicher!73
74 Regionen-Manager Verwaltung der Adressraum-Struktur repräsentiert z. B. als verkettete Liste Aufgabe bei Seitenfehler: Bestimmen von Fehlerart Speicherobjekt Speicherseite Fehlerarten Zugriff auf ungültigen Bereich (z.b. Pointerfehler) Rechteverletzung (z.b. Schreiben in Code-Bereich) Copy On Write Fault sonst: reparabler Seitenfehler (lediglich not present) Betriebssysteme WS 2018, Speicher!74
75 Aufbau der Adressraumstruktur Regionen im Adressraum explizites oder implizites Einbinden ( Mappen ) von Speicherobjekten in den virtuellen Adressraum eines Prozesses Operationen mmap(adresse, Länge, Zugriffsrechte, Speicherobjekt); implizit: bei Prozesserzeugung werden Code-, Daten-, Stack- Regionen gebildet (in Unix: Segmente ) interner Lookup von Adresse und Zugriffsart Speicherobjekt Seitennummer innerhalb Objekt oder nicht definiert oder Rechteverletzung Betriebssysteme WS 2018, Speicher!75
76 Überlappende Adressräume - Sharing Seite Kachel / Rahmen Block MMU Hardware BS Software Betriebssysteme WS 2018, Speicher!76
77 Sharing bei mehrstufigen Seitentabellen CPU CPU identische Inhalte der Seitentabellen Betriebssysteme WS 2018, Speicher!77
78 Sharing bei mehrstufigen Seitentabellen CPU CPU Betriebssysteme WS 2018, Speicher!78
79 Spezieller Einsatz von Sharing Verzögertes Kopieren / Lazy Copying / Copy on Write Kopier-Anforderung: zunächst nur read-only Sharing Eintragen des zu kopierenden Bereichs an Zieladresse beide gegen Schreiben schützen verzögertes Kopieren: entkoppelt, nur bei Bedarf beim ersten schreibenden Zugriff Seitenfehler Behandlung: neue Kachel allokieren, Inhalt echt kopieren neue Kachel ohne Schreibschutz in Seitentabelle eintragen Nutzung bei fork(), für Prozess-Schnappschüsse, Betriebssysteme WS 2018, Speicher!79
80 Gemeinsames Nutzen von Daten A share X neuen MMU Eintrag an Zieladresse A Z # Attrib # Attrib 2 p, rw 2 p, rw Y A Z X Betriebssysteme WS 2018, Speicher!80
81 Echtes Kopieren copy neue Kachel besorgen A # Attrib 2 p, rw p, rw X A # Attrib Z Kacheln kopieren neuen Eintrag in die Seitentabelle für Zieladresse 5 p, rw copy Y A Z X A Betriebssysteme WS 2018, Speicher!81
82 Verzögertes Kopieren A lazy copy X Ändern des MMU-Eintrags an der Quelladresse: rw (r, cow) A Z neuen MMU-Eintrag an Zieladresse: (r, cow) # Attrib 2 p, p, r, cow rw # Attrib 2 p, r, cow Y A Z X Betriebssysteme WS 2018, Speicher!82
83 Verzögertes Kopieren A write X schreibender Zugriff Seitenfehler A Z # Attrib 2 p, r, cow # Attrib 2 p, r, cow Y A Z X Betriebssysteme WS 2018, Speicher!83
84 Verzögertes Kopieren A # Attrib 2 p, r, cow write X A # Attrib 5 p, rw Z schreibender Zugriff Seitenfehler Das cow-attribut bewirkt, dass eine neue Kachel allokiert und der Inhalt physisch kopiert wird neuen MMU-Eintrag an Zieladresse: rw copy Y A Z X A Betriebssysteme WS 2018, Speicher!84
85 Verzögertes Kopieren A # Attrib 2 p, r, cow write X B # Attrib 5 p, rw Z schreibender Zugriff Seitenfehler Das cow-attribut bewirkt, dass eine neue Kachel allokiert und der Inhalt physisch kopiert wird neuen MMU-Eintrag an Zieladresse: rw danach erfolgt der Schreibzugriff Y A Z X B Betriebssysteme WS 2018, Speicher!85
86 Verzögertes Kopieren A # Attrib 2 p, r, cow write X B # Attrib Z schreibender Zugriff Seitenfehler ist der Prozess der alleinige Besitzer der Kachel, wird lediglich das Schreibrecht gesetzt 5 p, rw Y A Z X B Betriebssysteme WS 2018, Speicher!86
87 Verzögertes Kopieren C # Attrib 2 p, rw write X B # Attrib 5 p, rw Z schreibender Zugriff Seitenfehler ist der Prozess der alleinige Besitzer der Kachel, wird lediglich das Schreibrecht gesetzt danach erfolgt der Schreibzugriff Y C Z X B Betriebssysteme WS 2018, Speicher!87
88 Das Zusammenspiel Adressräume z. B. 4 GB Seite Kachel/Rahmen Block MMU Hardware Netz Dateisysteme Platte Hauptspeicher Regionmanager Seitenersetzung Anonyme Speicher Betriebssysteme WS 2018, Speicher!88
89 Das Zusammenspiel Adressräume z. B. 4 GB Seite Kachel/Rahmen Block MMU Hardware Netz Dateisysteme Platte Hauptspeicher Regionmanager Seitenersetzung Anonyme Speicher Betriebssysteme WS 2018, Speicher!89
90 Das Zusammenspiel Adressräume z. B. 4 GB Seite Kachel/Rahmen Block MMU Hardware Netz Datei, D47, 11 Dateisysteme Platte Hauptspeicher Regionmanager Seitenersetzung Anonyme Speicher Betriebssysteme WS 2018, Speicher!90
91 Das Zusammenspiel Adressräume z. B. 4 GB Seite Kachel/Rahmen Block MMU Hardware Netz Datei, D47, 11 D47, 11?? Dateisysteme Platte Hauptspeicher Regionmanager Seitenersetzung Anonyme Speicher Betriebssysteme WS 2018, Speicher!91
92 Das Zusammenspiel Adressräume z. B. 4 GB Seite Kachel/Rahmen Block MMU Hardware Hauptspeicher Datei, D47, 11 D47, 11?? JA Regionmanager Seitenersetzung Dateisysteme Anonyme Speicher Netz Platte Betriebssysteme WS 2018, Speicher!92
93 Das Zusammenspiel Adressräume z. B. 4 GB Seite Kachel/Rahmen Block MMU Hardware Netz Datei, D47, 11 eintragen ST Dateisysteme Platte Hauptspeicher Regionmanager Seitenersetzung Anonyme Speicher Betriebssysteme WS 2018, Speicher!93
94 Das Zusammenspiel Adressräume z. B. 4 GB Seite Kachel/Rahmen Block MMU Hardware Hauptspeicher Datei, D47, 11 D47, 11?? NEIN Regionmanager Seitenersetzung Dateisysteme Anonyme Speicher Netz Platte Betriebssysteme WS 2018, Speicher!94
95 Das Zusammenspiel Adressräume z. B. 4 GB Seite Kachel/Rahmen Block MMU Hardware Hauptspeicher Datei, D47, 11 Kachel frei?? JA Regionmanager Seitenersetzung Dateisysteme Anonyme Speicher Netz Platte Betriebssysteme WS 2018, Speicher!95
96 Das Zusammenspiel Adressräume z. B. 4 GB Seite Kachel/Rahmen Block MMU Hardware Netz Datei, D47, 11 Datei.read Dateisysteme Platte Hauptspeicher Regionmanager Seitenersetzung Anonyme Speicher Betriebssysteme WS 2018, Speicher!96
97 Das Zusammenspiel Adressräume z. B. 4 GB Seite Kachel/Rahmen Block MMU Hardware Netz Datei, D47, 11 eintragen ST Dateisysteme Platte Hauptspeicher Regionmanager Seitenersetzung Anonyme Speicher Betriebssysteme WS 2018, Speicher!97
98 Das Zusammenspiel Adressräume z. B. 4 GB Seite Kachel/Rahmen Block MMU Hardware Hauptspeicher Datei, D47, 11 Kachel frei?? NEIN Regionmanager Seitenersetzung Dateisysteme Anonyme Speicher Netz Platte Betriebssysteme WS 2018, Speicher!98
99 Das Zusammenspiel Adressräume z. B. 4 GB Seite Kachel/Rahmen Block MMU Hardware Netz Datei, D47, 11 auswählen Dateisysteme Platte Hauptspeicher Regionmanager Seitenersetzung Anonyme Speicher Betriebssysteme WS 2018, Speicher!99
100 Das Zusammenspiel Adressräume z. B. 4 GB Seite Kachel/Rahmen Block MMU Hardware Netz Datei, D47, 11 austragen ST Dateisysteme Platte Hauptspeicher Regionmanager Seitenersetzung Anonyme Speicher Betriebssysteme WS 2018, Speicher!100
101 Das Zusammenspiel Adressräume z. B. 4 GB Seite Kachel/Rahmen Block MMU Hardware Netz Datei, D47, 11 zu Objekt?? Dateisysteme Platte Hauptspeicher Regionmanager Seitenersetzung Anonyme Speicher Betriebssysteme WS 2018, Speicher!101
102 Das Zusammenspiel Adressräume z. B. 4 GB Seite Kachel/Rahmen Block MMU Hardware Netz Hauptspeicher Datei, D47, 11 Datei, D08, 15 Datei.write Regionmanager Seitenersetzung Dateisysteme Anonyme Speicher Platte Betriebssysteme WS 2018, Speicher!102
103 Das Zusammenspiel Adressräume z. B. 4 GB Seite Kachel/Rahmen Block MMU Hardware Netz Datei, D47, 11 Datei.read Dateisysteme Platte Hauptspeicher Regionmanager Seitenersetzung Anonyme Speicher Betriebssysteme WS 2018, Speicher!103
104 Das Zusammenspiel Adressräume z. B. 4 GB Seite Kachel/Rahmen Block MMU Hardware Netz Datei, D47, 11 eintragen ST Dateisysteme Platte Hauptspeicher Regionmanager Seitenersetzung Anonyme Speicher Betriebssysteme WS 2018, Speicher!104
105 Das Zusammenspiel Seitenfehler Finde Objekt + Seite (Offset-Behandlung) Suche ob Kachel schon vorhanden Falls ja: Seite in Seitentabelle eintragen fertig Falls nein: freie Kachel vorhanden? Falls freie Kachel vorhanden: Inhalt lesen, Seite eintragen Falls keine freie Kachel vorhanden verdrängen Aus allen beteiligten Seitentabellen austragen Zu welchem Objekt gehört verdrängte Kachel? Inhalt sichern, wenn er verändert wurde dann wie oben: neuen Inhalt lesen, Seite eintragen Betriebssysteme WS 2018, Speicher!105
106 Speicherobjekte im Netz Rechner in einem verteilten System Botschaften über Netzwerk Betriebssysteme WS 2018, Speicher!106
107 Wegweiser Elementare Techniken Virtueller Speicher (Paging) Anliegen, Begriffe, Vorgehen Adressumsetzung Seitenersetzung Speicherobjekte Caches Betriebssysteme WS 2018, Speicher!107
108 Rechnerarchitektur: Caches Ziel größtmöglicher und schnellstmöglicher Speicher Grundlage Lokalitätsverhalten bei Speicherzugriffen Idee Anordnung von schnelleren, kleineren Speichern vor größeren, langsameren Speichern bei jedem Zugriff auf langsameren Speicher wird auch in schnellerem Speicher eine Kopie angelegt und genutzt Betriebssysteme WS 2018, Speicher!108
109 Caches für Hauptspeicher CPU Adresse1 Adresse2 Adresse3 Adresse4 Inhalt Inhalt Inhalt Inhalt MEM Characteristika Gesamtgröße, Cacheline-Größe, Geschwindigkeit Organisation: Austauschverfahren, Zugriffsart Index: aus Adresse wird Position im Cache berechnet Tag: im Cache gespeicherte Adresse Betriebssysteme WS 2018, Speicher!109
110 Organisation von Caches Virtuelle vs. physische Adressen virtuelle Tags und Indizes (VIVT) CPU schnell (spart MMU-Zugriff) Löschen bei AR-Wechsel physische Tags und Indizes (PIPT) langsamer, da auf MMU gewartet werden muss unabhängig von Adressraum-Organisation (Sharing) virtuelle Indizes, physische Tags (VIPT) Kompromiss Index-Zugriff parallel zur MMU, Tag-Vergleich physisch V P virtuelle Adresse physische Adresse MMU Betriebssysteme WS 2018, Speicher!110
111 Zusammenfassung Speicher Ziele von virtuellem Speicher: Schutz, Abstraktion, Effizienz Adressumsetzung in der MMU mehrstufige Seitentabellen, TLB Behandlung von Seitenfehlern Seitenersetzung zur Verwaltung des Hauptspeichers logischer Aufbau des Adressraums: Regionen Betriebssysteme WS 2018, Speicher!111
Speicher. Betriebssysteme WS 15/16 Große Teile nach Tanenbaum. Hermann Härtig TU Dresden
Speicher Betriebssysteme WS 15/16 Große Teile nach Tanenbaum Hermann Härtig TU Dresden Aufgaben der Speicherverwaltung Bereitstellung von Adressräumen Aufbau von Adressräumen durch Zuordnung logischer
MehrSharing und invertierte Seitentabellen
Sharing und invertierte Seitentabellen Adressräume Seite Kachel / Rahmen MMU Hardware schwierig, da nur eine virtuelle Adresse pro Kachel Hauptspeicher z. B. 512 MB Betriebssysteme WS 2012, Speicher 68
MehrSPEICHER. Hermann Härtig TU Dresden TEILWEISE NACH ANDY TANENBAUM, MODERN OPERATING SYSTEMS
Faculty of Computer Science Institute of Systems Architecture, Operating Systems Group SPEICHER TEILWEISE NACH ANDY TANENBAUM, MODERN OPERATING SYSTEMS Hermann Härtig TU Dresden LERNZIELE von der BS-Schnittstelle
MehrSPEICHER. Hermann Härtig TU Dresden TEILWEISE NACH ANDY TANENBAUM, MODERN OPERATING SYSTEMS WS 2017/2018
Faculty of Computer Science Institute of Systems Architecture, Operating Systems Group SPEICHER TEILWEISE NACH ANDY TANENBAUM, MODERN OPERATING SYSTEMS WS 2017/2018 Hermann Härtig TU Dresden LERNZIELE
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
MehrSpeicher. Betriebssysteme (zu großen Teilen nach Tanenbaum) Hermann Härtig TU Dresden
Speicher Betriebssysteme (zu großen Teilen nach Tanenbaum) Hermann Härtig TU Dresden Wegweiser Einführung Elementare Techniken Virtueller Speicher (Paging) Anliegen - Begriffe - Vorgehen Adressumsetzung
Mehr5. Aufgabenblatt Speicherverwaltung
Faculty of Computer Science Institute for System Architecture, Operating Systems Group Betriebssysteme und Sicherheit, WS 0/. Aufgabenblatt Speicherverwaltung Geplante Bearbeitungszeit: drei Wochen Aufgabe.
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
MehrRO-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
MehrBetriebssysteme BS-S SS Hans-Georg Eßer. Foliensatz S: Speicherverwaltung. Dipl.-Math., Dipl.-Inform. v1.0, 2015/04/14
BS-S Betriebssysteme SS 2015 Hans-Georg Eßer Dipl.-Math., Dipl.-Inform. Foliensatz S: Speicherverwaltung v1.0, 2015/04/14 Betriebssysteme, SS 2015 Hans-Georg Eßer Folie S-1 Übersicht: BS Praxis und BS
MehrKonzepte 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
MehrWegweiser: Virtueller Speicher
Wegweiser: Virtueller Speicher Anliegen Begriffe Vorgehen Adressumsetzung Seitenersetzung Arbeitsmengenmodell Betriebssysteme WS 2008, Speicher 75 Teilaufgaben Virtueller Speicher im Betriebssystem Seitenfehler-Behandlung
MehrBetriebssysteme 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
MehrVirtueller 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
MehrWegweiser: Virtueller Speicher
Wegweiser: Virtueller Speicher Anliegen Begriffe - Vorgehen Adressumsetzung Seitenersetzung Arbeitsmengenmodell Betriebssysteme WS 2007, Speicher 1 Virtueller Speicher im Betriebssystem Teilaufgaben Seitenfehler-Behandlung
MehrTechnische Realisierung (1)
Technische Realisierung () Einfachstes Modell: Prozess (Daten+Code) befindet sich im Hintergrundspeicher Bei teilweise eingelagerten Prozessen: Zusätzlich Teile im Hauptspeicher Logische Adressen überdecken
MehrTeil 2: Speicherstrukturen
Inhalt Teil 2: Speicherstrukturen Hauptspeicher Cache Assoziativspeicher Speicherverwaltungseinheit ( Memory Management Unit ) 1 Virtueller Speicher Trennung von virtuellem Adreßraum (mit virtuellen Adressen)
MehrLeichtgewichtsprozesse
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
MehrLeichtgewichtsprozesse
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)
Ü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Übung Praktische Informatik II
Übung Praktische Informatik II FSS 2009 Benjamin Guthier Lehrstuhl für Praktische Informatik IV Universität Mannheim guthier@pi4.informatik.uni-mannheim.de 22.05.09 11-1 Heutige große Übung Ankündigung
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
MehrVorlesung: Rechnerstrukturen, Teil 2 (Modul IP7)
Vorlesung: Rechnerstrukturen, Teil 2 (Modul IP7) Vorlesung: Rechnerstrukturen, Teil 2 (Modul IP7) J. Zhang zhang@informatik.uni-hamburg.de Universität Hamburg AB Technische Aspekte Multimodaler Systeme
Mehr2.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
MehrSpeicher- 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Ü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),
MehrLö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
MehrEchtzeitbetriebssysteme
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
MehrNaiver Ansatz. Blöcke und Seiten. Betriebssysteme I Sommersemester 2009 Kapitel 6: Speicherverwaltung und Dateisysteme
Betriebssysteme I Sommersemester 2009 Kapitel 6: Speicherverwaltung und Dateisysteme Hans-Georg Eßer Hochschule München Teil 3: Zusammenhängende Speicherzuordnung 06/2009 Hans-Georg Eßer Hochschule München
MehrBetriebssysteme (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
MehrBesprechung 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
MehrBetriebssysteme 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
Mehr5.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
MehrLö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
MehrVirtueller 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
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
MehrWunschvorstellung 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
MehrZwei 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é 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
MehrHauptspeicherverwaltung - 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 -
MehrCache-Speicher. Design Digitaler Systeme. Prof. Dr.-Ing. Rainer Bermbach
Cache-Speicher Design Digitaler Systeme Prof. Dr.-Ing. Rainer Bermbach Übersicht Cache-Speicher Warum Cache-Speicher? Cache-Strukturen Aufbau und Organisation von Caches Cache-Architekturen Cache-Strategien
MehrBetriebssysteme Kap J, Teil C: Paging, Pagereplacement
Betriebssysteme Kap J, Teil C: Paging, Pagereplacement 1 Welche Seite soll ausgelagert werden? Ein- / Auslagern benötigt Zeit Kontextwechsel erforderlich» Wechsel zu einem BS-Prozess, welcher für das Management
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. 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
MehrKonzepte 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Ü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, 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
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
MehrRO-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
MehrSchreiben 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
Mehr5 Kernaufgaben eines Betriebssystems (BS)
5 Kernaufgaben eines Betriebssystems (BS) Betriebssystem ist eine Menge von Programmen, die die Abarbeitung anderer Programme auf einem Rechner steuern und überwachen, insbesondere verwaltet es die Hardware-Ressourcen
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
MehrBetriebssysteme. 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
MehrBetriebssysteme 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
MehrProseminar 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
MehrAdreß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
MehrRechnergrundlagen 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
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
MehrIn 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
MehrQuiz. 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
MehrSpeicherverwaltung. Design Digitaler Systeme. Prof. Dr.-Ing. Rainer Bermbach
Speicherverwaltung Design Digitaler Systeme Prof. Dr.-Ing. Rainer Bermbach Übersicht Speicherverwaltung Virtueller Speicher Memory Management Unit Segmentierung Paging Kombination Segmentierung/ Paging
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 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
MehrLösungsvorschlag für Übung September 2009
Universität Mannheim Vorlesung Betriebssysteme Lehrstuhl für Praktische Informatik 1 Herbstsemester 2009 Prof. Dr. Felix Freiling Dipl.-Inform. Jan Göbel Lösungsvorschlag für Übung 2 25. September 2009
MehrGrundlagen 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.
Mehr5.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
MehrSysteme 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:
MehrCache Grundlagen. Schreibender Cache Zugriff. SS 2012 Grundlagen der Rechnerarchitektur Speicher 22
Cache Grundlagen Schreibender Cache Zugriff SS 212 Grundlagen der Rechnerarchitektur Speicher 22 Eine einfache Strategie Schreibt man nur in den Cache, werden Cache und darunter liegender Speicher inkonsistent.
Mehr, 2015W Übungsgruppen: Mo., Mi.,
VU Technische Grundlagen der Informatik Übung 7: Speichermanagement 183.579, 2015W Übungsgruppen: Mo., 11.01. Mi., 13.01.2016 Aufgabe 1: Cache-Adressierung Ihr Cachingsystem soll 32 GiB an Speicher auf
MehrSysteme 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
MehrLö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
MehrCache 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
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,
MehrFreispeicherverwaltung 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
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
MehrSysteme 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
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
MehrAufgabe 1 Sicherheit. Klausur Betriebssysteme und Sicherheit, Name: Matrikel-Nr.: Studiengang: 7 Punkte
Klausur etriebssysteme und Sicherheit, 31.07.2014 1 2 3 4 5 6 7 6 7 6 8 8 42 Aufgabe 1 Sicherheit 7 Punkte a) Nennen Sie die drei Haupt-Schutzziele in der atensicherheit! 1 P b) Nennen Sie einen Vorteil
MehrDYNAMISCHE VERWALTUNG VIRTUELLEN SPEICHERS FÜR ECHTZEITSYSTEME
1 / 25 DYNAMISCHE VERWALTUNG VIRTUELLEN SPEICHERS FÜR ECHTZEITSYSTEME Martin Böhnert, Thorsten Zitterell, Christoph Scholl Albert-Ludwigs-Universität Freiburg Fakultät für Angewandte Wissenschaften Institut
MehrInhaltsü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
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
MehrSpeicherarchitektur (23) Suchen einer Seite:
Speicherarchitektur (23) Suchen einer Seite: Vorlesung Rechnersysteme SS `09 E. Nett 7 Speicherarchitektur (24) Adressschema inklusive Seitenfehler: Vorlesung Rechnersysteme SS `09 E. Nett 8 Speicherarchitektur
MehrFachbericht 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
MehrTechnische Informatik II (TI II) (9) Speicherverwaltung II. Sebastian Zug Arbeitsgruppe: Embedded Smart Systems
1 (TI II) (9) Speicherverwaltung II Sebastian Zug Arbeitsgruppe: Embedded Smart Systems 2 Auswertung Evaluation Gut fand ich: Videoaufzeichung praktische Aufgaben umfassende Unterstützung bei den praktischen
MehrSpeicherverwaltung. 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.
MehrBetriebssysteme I WS 2017/18. Prof. Dr. Dirk Müller. 05a 64-/32-Bit-Architekturen
Betriebssysteme I 05a 64-/32-Bit-Architekturen Prof. Dr. Dirk Müller Begriff Eine n-bit-architektur ist eine Prozessorarchitektur mit einer Wortbreite von n Bit. meist Zweierpotenzen: 8-, 16-, 32-, 64-Bit-Architekturen
MehrVorlesung 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
MehrFreispeicherverwaltung
Freispeicherverwaltung Allgemeine Techniken und Anwendung unter Linux Martin Wahl, 17.11.03 Freispeicherverwaltung 1 Überblick Allgemeines Suchstrategien Verwaltungsstrategien externer / interner Verschnitt
MehrKapitel VI. Speicherverwaltung. Vorlesung Betriebssysteme
Kapitel VI Speicherverwaltung V 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Ü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
MehrHardware und Gerätetreiber
Hardware und Gerätetreiber Betriebssysteme Hermann Härtig TU Dresden Übersicht Übersicht Kommunikation zwischen Hardware und CPU Interrupts I/O-Ports I/O-Speicher Busse Verwaltung von Geräten Dynamisches
Mehr