Grundlagen der Informatik III Wintersemester 2010/ Vorlesung Dr.-Ing. Wolfgang Heenes
|
|
- Charlotte Hauer
- vor 7 Jahren
- Abrufe
Transkript
1 Grundlagen der Informatik III Wintersemester 2010/ Vorlesung Dr.-Ing. Wolfgang Heenes int main() { printf("hello, world!"); return 0; } msg: main:.data.asciiz "Hello, world!".text.globl main la $a0,msg li $v0,4 syscall jr $ra 1. Februar2011 TechnischeUniversitätDarmstadt Dr.-Ing. Wolfgang Heenes 1
2 Inhalt 1. Literatur 2. Betriebssysteme III 3. Speicherverwaltung und Schutzmechanismen 4. Hauptspeicherverwaltung nichtvirtueller Systeme 5. Virtueller Speicher 6. Translation Lookaside Buffer 7. TLB beim Core i7 1. Februar2011 TechnischeUniversitätDarmstadt Dr.-Ing. Wolfgang Heenes 2
3 Literatur [BO10] Bryant, Randal E. und David R. O Hallaron: Computer Systems - A Programmer s Perspective. Prentice Hall, [BS06] Baumgarten, Uwe und Hans-Jürgen Siegert: Betriebssysteme. Oldenbourg, [Tan09] Tanenbaum, Andrew S.: Moderne Betriebssysteme. Pearson, Februar2011 TechnischeUniversitätDarmstadt Dr.-Ing. Wolfgang Heenes 3
4 Betriebssysteme III Speicherverwaltung Allgemeine Aufgaben Betriebsmittelverwaltung Unterbrechungskonzept Prozessmodell, Semaphore Ein wichtiges Betriebsmittel ist der Speicher Verwaltung des Speichers Speicherpyramide Register, Cache, Hauptspeicher, Hintergrundspeicher Unterscheidung zwischen physikalischen und virtuellen Speicher bzw. Adressen Zur Speicherverwaltung existieren in Hardware Hilfsmittel (vgl. [BS06]) 1. Februar2011 TechnischeUniversitätDarmstadt Dr.-Ing. Wolfgang Heenes 4
5 Grundlagen Speicherverwaltung Die ersten PCs haben physikalische Adressierung verwendet Signalprozessoren, Embedded Systems verwenden (meistens) auch eine physikalische Adressierung Main memory 0: Physical 1: address 2: (PA) CPU 3: 4 4: 5: 6: 7: 8: M -1: Data word... Abbildung: Quelle: [BO10, S. 811] 1. Februar2011 TechnischeUniversitätDarmstadt Dr.-Ing. Wolfgang Heenes 5
6 Grundlagen Speicherverwaltung Virtuelle Adressierung CPU generiert virtuelle Adressen (VA), welche in physikalische Adressen überführt werden. Umsetzung von virtueller zu physikalsicher Adresse wird als Adressumsetzung bezeichnet CPU chip CPU Virtual address (VA) 4100 Address translation MMU Physical address (PA) 4 Main memory 0: 1: 2: 3: 4: 5: 6: 7:... Data word M-1: Abbildung: Quelle: [BO10, S. 812] 1. Februar2011 TechnischeUniversitätDarmstadt Dr.-Ing. Wolfgang Heenes 6
7 Grundlagen Speicherverwaltung Spezielle Hardware auf dem CPU-Chip wird als memory management unit (MMU) bezeichnet Die MMU übersetzt virtuelle Adressen on the fly durch Look-Up Tabellen im Hauptspeicher, deren Inhalte durch das Betriebssystem verwaltet werden [BO10, S. 812] Aufteilung des Speichers in Seiten (page) Seiten werden dem physikalischen Speicherbereich zugeordnet Konzept 1961 vorgestellt (vgl. [Tan09, S. 241]) 1. Februar2011 TechnischeUniversitätDarmstadt Dr.-Ing. Wolfgang Heenes 7
8 Speicherverwaltung Speicherverwaltung und Schutzmechanismen Möglichkeiten für Speicherverwaltung und Schutz hängen sehr eng zusammen zudem sind sie überwiegend von der Hardware abhängig Betriebsart des BS hat Auswirkungen auf die Schutzart Einprogrammbetrieb [Tan09, S. 229] Annahmen von Übersetzern und Assemblierern bzgl. Code-Generierung: Programm wird ab Adresse 0 in den Hauptspeicher geladen Folge: erzeugte Adressen im Code sind dann relativ zu 0 Programmadressen können direkt als Hauptspeicheradressen genutzt werden (Hauptspeicheradressen: 0 bis S) Adresse 0 Adresse N Programm Hauptspeicher Adresse S 1. Februar2011 TechnischeUniversitätDarmstadt Dr.-Ing. Wolfgang Heenes 8
9 Speicherverwaltung Einprogrammbetrieb Variante 1: Benutzerprogramm mit separaten Hilfsroutinen separates Übersetzen von Programm und Hilfsroutinen Binden zu komplettem, ausführbarem Programm nötig hoher Aufwand Abspeichern in Dateisystem Annahmen von Übersetzern und Assemblierern bzgl. Code-Generierung: 0 Programm N Hilfsroutinen S 1. Februar2011 TechnischeUniversitätDarmstadt Dr.-Ing. Wolfgang Heenes 9
10 Speicherverwaltung Einprogrammbetrieb Variante 2: Benutzerprogramm mit Betriebssystem teuer und problematisch, jedes Programm mit Betriebssystem zu binden Lösungsalternativen: Binder bindet Programm und speichert Ergebnis ohne Betriebssystem im Dateisystem Übersetzer übersetzt ab bekannter Endadresse des Betriebssystems Bindelader bindet und lädt Programm zur Ausführungszeit 0 Betriebssystem N Programm S 1. Februar2011 TechnischeUniversitätDarmstadt Dr.-Ing. Wolfgang Heenes 10
11 Speicherverwaltung Schutz des BS vor dem Benutzerprogramm Realisierungen mit Hardware-Unterstützung Verwendung von Basisregistern zur relativen Adressierung [Tan09, S. 234] Progammadressen beginnen immer ab Adresse 0 Anfangsadresse im Hauptspeicher wird vom Betriebssystem in ein Basisregister geladen Ladebefehl privilegiert Hardware addiert Inhalt des Basisregisters automatisch zu jeder relativen Programmadresse, um die richtige Speicheradresse zu bestimmen Adressrechnung schnell Betriebssystem vor Programm geschützt 1. Februar2011 TechnischeUniversitätDarmstadt Dr.-Ing. Wolfgang Heenes 11
12 Speicherverwaltung Schutz des BS vor dem Benutzerprogramm (Fortsetzung) Veranschaulichung 0 Betriebssystem Basisregister 0 Programm N 1. Februar2011 TechnischeUniversitätDarmstadt Dr.-Ing. Wolfgang Heenes 12
13 Speicherverwaltung Mehrprogrammbetrieb bei Mehrprogrammbetrieb genügt die alleinige Verwendung eines Basisregisters nicht Programme sind nicht voreinander geschützt niedrige Adresse Basisregister Basisregister hohe Adresse Betriebssystem Programm 1 Programm 2 1. Februar2011 TechnischeUniversitätDarmstadt Dr.-Ing. Wolfgang Heenes 13
14 Speicherverwaltung Mehrprogrammbetrieb (Fortsetzung) Schutz der Programme untereinander ist z. B. mittels zusätzlichem Grenzregister möglich Betriebssystem lädt Wert N (Länge des Programms) in das Grenzregister und HW überprüft benutzte Adressen Beispiel (vgl. [Tan09, S. 234]) IF x < N -- [Grenzregister] = N THEN -- x ist logische Programmadresse Hauptspeicheradresse := [Basisregister] + x ; ELSE Fehler Adresse ausserhalb des erlaubten Bereichs; END; 1. Februar2011 TechnischeUniversitätDarmstadt Dr.-Ing. Wolfgang Heenes 14
15 Speicherverwaltung Swapping Falls der physikalische Speicher des Computers groß genug ist, reicht das besprochene Modell im Prinzip aus Wenn alle Prozesse die ganze Zeit über im Arbeitsspeicher gehalten werden, würde man sehr viel Speicher benötigen. Zwei grundsätzliche Ansätze vorhanden [Tan09, S. 235]: Swapping virtueller Speicher Beim Swapping wird ein Prozess komplett in den Speicher geladen und anschließend wieder auf die Festplatte ausgelagert. Nachteil: Programm kann auch 1 GB groß sein bei einer Übertragungsrate der Festplatte von 100 MB pro Sekunde dauert es also 10 Sekunden bis das Programm verfügbar ist. 1. Februar2011 TechnischeUniversitätDarmstadt Dr.-Ing. Wolfgang Heenes 15
16 Hauptspeicherverwaltung nichtvirtueller Systeme Verwaltung von Bereichen fester Länge abhängig von vorhandener Hardware-Unterstützung und Betriebsart kann das Betriebssystem Hauptspeicher in Bereichen fester Länge und variabler Länge den Programmen zuteilen und Schutz garantieren Verwaltung von Bereichen fester Länge Organisation des Hauptspeichers Speicher in Bereiche fester Länge aufgeteilt partition, region Bereiche können unterschiedlich lang sein niedrige Adresse hohe Adresse Betriebssystem Programmbereich 1 Programmbereich 2 Programmbereich 3 Programmbereich 4 Längel 1 Längel 2 Längel 3 Längel 4 1. Februar2011 TechnischeUniversitätDarmstadt Dr.-Ing. Wolfgang Heenes 16
17 Hauptspeicherverwaltung nichtvirtueller Systeme Verwaltung von Bereichen fester Länge (Fortsetzung) Nachteile: jedes Programm muss so geschrieben sein, dass es in einen zumindest den größten Bereich passt interne Fragmentierung: Speicherverlust, der i. d. R. auftritt, wenn Programme oder Daten variabler Länge (aber mit fester Maximallänge) in Bereiche fester Länge geladen werden niedrige Adresse benutzt Programmbereich hohe Adresse nicht benutzt Speicherverlust durch interne Fragmentierung Alternative Speicher in (relativ) kleine Bereiche fester Länge aufteilen Programm belegt dann i. d. R. mehrere aufeinanderfolgende Bereiche interne Fragmentierung: im Schnitt ein halber Bereich pro Programm 1. Februar2011 TechnischeUniversitätDarmstadt Dr.-Ing. Wolfgang Heenes 17
18 Hauptspeicherverwaltung nichtvirtueller Systeme Verwaltung von Bereichen fester Länge (Fortsetzung) Verwaltung der statischen Bereiche für jeden Bereich benötigt man ein Bit, das angibt, ob er belegt oder frei ist falls Programm dynamisch umgeladen werden kann und sich über mehrere Bereiche erstreckt, benötigt man die Zuordnung: Programm belegte Bereiche Speicherplatzzuteilung Programm einen einzigen statischen Bereich zuordnen Programmlänge muss bekannt sein Zuteilungsalternativen: Anwender gibt (z. B. in Auftragsbeschreibung) an, in welchem Bereich das Programm laufen soll, Auftragssteuerung entscheidet selbst, in welchem Bereich das Programm geladen wird 1. Februar2011 TechnischeUniversitätDarmstadt Dr.-Ing. Wolfgang Heenes 18
19 Hauptspeicherverwaltung nichtvirtueller Systeme Verwaltung von Bereichen fester Länge (Fortsetzung) Speicherplatzzuteilung Programm erstreckt sich über mehrere statische Bereiche fester Länge Programmlänge muss bekannt sein Zuteilung: Auftragssteuerung muss entsprechende Menge zusammenhängender Bereiche finden ggf. ist dafür ein Verschieben von Programmen nötig falls Programme nicht verschiebbar, dann tritt neben interner Fragmentierung auch eine problematische externe Fragmentierung auf Zuteilung somit insgesamt sehr aufwendig externe Fragmentierung: der dem BS sichtbare Zerfall des Speichers in verstreute Bereiche freien Hauptspeichers führt u. U. zu Speicherverlust 1. Februar2011 TechnischeUniversitätDarmstadt Dr.-Ing. Wolfgang Heenes 19
20 Hauptspeicherverwaltung nichtvirtueller Systeme Verwaltung von Bereichen variabler Länge Betriebssystem stellt Speicherbereich in der gewünschten Länge bereit Problem: externe Fragmentierung niedrige Adresse belegt frei belegt frei belegt Programm hohe Adresse belegt frei 1. Februar2011 TechnischeUniversitätDarmstadt Dr.-Ing. Wolfgang Heenes 20
21 Hauptspeicherverwaltung nichtvirtueller Systeme Verwaltung von Bereichen variabler Länge (Fortsetzung) Reaktionsmöglichkeiten, falls angeforderter Bereich größer als der größte noch vorhandene Bereich ist Anforderung ablehnen andere Einheit (z. B. ein Programm) auslagern falls möglich Speicherkompaktierung (compaction) durchführen Reaktionsmöglichkeiten ungünstig; daher gesucht: Speicherverwaltung mit möglichst wenig externer Fragmentierung 1. Februar2011 TechnischeUniversitätDarmstadt Dr.-Ing. Wolfgang Heenes 21
22 Hauptspeicherverwaltung nichtvirtueller Systeme Verwaltung von Bereichen variabler Länge (Fortsetzung) Verwaltung der dynamischen Bereiche Verkettung der unbelegten Bereiche in einer Freiliste (Freispeicherliste, free list) bei Rückgabe von Bereichen werden aneinanderliegende Bereiche zu einem verschmolzen niedrige Adresse belegt Kopf LängeZeiger (header) frei belegt LängeZeiger frei belegt Länge NIL frei hohe Adresse 1. Februar2011 TechnischeUniversitätDarmstadt Dr.-Ing. Wolfgang Heenes 22 belegt
23 Hauptspeicherverwaltung nichtvirtueller Systeme Zuteilungsstrategien Wie findet das Betriebssystem einen passenden, zusammenhängenden Speicherbereich? Zuteilungsstrategien First Fit-Strategie Best Fit-Strategie Buddy-System First Fit-Strategie finde und verwende den ersten freien Bereich, der groß genug ist der nicht benötigte Rest des Bereichs wird in die Freiliste eingekettet Best Fit-Strategie finde und verwende den kleinsten freien Bereich, der gerade noch groß genug ist der nicht benötigte Rest des Bereichs wird in die Freiliste eingekettet 1. Februar2011 TechnischeUniversitätDarmstadt Dr.-Ing. Wolfgang Heenes 23
24 Hauptspeicherverwaltung nichtvirtueller Systeme Bemerkungen zu First Fit und Best Fit Best Fit ist teurer als First Fit, da (fast immer) die gesamte Freiliste durchsucht werden muss First Fit meist erfolgreicher als Best Fit Variante 1: Freiliste aufsteigend nach Größe sortiert Variante 2: statt einer Freiliste werden mehrere benutzt, die Bereiche bestimmter Größenklassen enthalten bei beiden Varianten wird die Suche schneller, die Rückgabe jedoch aufwendiger weil nicht sofort erkennbar ist, dass zwei frei gewordene Bereiche aneinandergrenzen 1. Februar2011 TechnischeUniversitätDarmstadt Dr.-Ing. Wolfgang Heenes 24
25 Virtueller Speicher Virtueller Speicher Problem: es gibt i. d. R. zu wenig physikalischen Hauptspeicher Hauptspeicher insgesamt zu klein freier Hauptspeicher-Platz ggf. nicht zusammenhängend Fragmentierungsproblem Lösung: Virtuallisierung Hauptspeicher durch Teil des Hintergrundspeichers ergänzt Programm muss nicht vollständig im Hauptspeicher liegen Programm muss nicht in einem Stück im Hauptspeicher liegen das Betriebssystem lädt fehlende Programmteile/Daten nach 1. Februar2011 TechnischeUniversitätDarmstadt Dr.-Ing. Wolfgang Heenes 25
26 Virtueller Speicher eine Darstellung Hauptspeicher Hintergrundspeicher Adresse: real virtuell Adressumsetzungsmechanismus (Hardware) Austausch der Bereichs- Inhalte.. 1. Februar2011 TechnischeUniversitätDarmstadt Dr.-Ing. Wolfgang Heenes 26
27 Virtueller Speicher Adressumsetzung wird vom laufenden Programm ein abwesender Programmteil adressiert, dann erzeugt HW eine Unterbrechung im Rahmen der Unterbrechungsbehandlung lädt BS das fehlende Programmteil in den Hauptspeicher letzter Befehl wird wiederholt nachladbare Programmteile sind Seiten (fester Länge) oder Segmente (variabler Länge) 1. Februar2011 TechnischeUniversitätDarmstadt Dr.-Ing. Wolfgang Heenes 27
28 Virtueller Speicher Virtueller Speicher für Caching Konzeptuell ist der virtuelle Speicher als ein Feld von N Zellen (z. B. von Bytes) anzusehen, die auf einer Festplatte gespeichert sind Jedes Byte hat eine einzigartige virtuelle Adresse Die Inhalte des Feldes sind im Hauptspeicher gecached. Virtueller Speicher ist in bestimmte Blöcke fester Größe aufgeteilt virtuelle Seiten virtual pages Physikalischer Speicher ist ebenfalls aufgeteilt physikalische Seiten physical pages oder page frames Virtuelle Seiten können drei Zustände haben 1 alloziert nicht allokiert 1 (zugeordnet) Cached Uncached 1. Februar2011 TechnischeUniversitätDarmstadt Dr.-Ing. Wolfgang Heenes 28
29 Virtueller Speicher Virtueller Speicher Virtueller Speicher für Caching Acht virtuelle Seiten, VP0 und VP3 nicht allokiert, VP1, VP4 und VP6 im physikalischen Speicher Virtual memory Physical memory VP 0 VP 1 VP 2 n-p -1 0 Unallocated Cached Uncached Unallocated Cached Uncached Cached Uncached N-1 Virtual pages (VP's) stored on disk M-1 0 Empty Empty Empty PP 0 PP 1 PP 2 m-p -1 Physical pages (PP's) cached in DRAM Abbildung: Quelle: [BO10, S. 813] 1. Februar2011 TechnischeUniversitätDarmstadt Dr.-Ing. Wolfgang Heenes 29
30 Virtueller Speicher Seitentabellen Speicherhierarchie: Register, Cache (SRAM), DRAM, Festplatte In einer Seitentabelle (page table) wird abgespeichert, wo die angefragten Daten liegen. Sind die Daten nicht im physikalischen Speicher, wird in der Seitentabelle geschaut wo die virtuelle Seite auf der Platte gespeicher ist Auswahl eines Speichers (in Form einer Seite) im DRAM Kopieren der Seite in das DRAM virtueller Speicher als Cache Die MMU (memory management unit) liest die Seitentabellen und konvertiert die virtuelle Adresse in eine physikalische Adresse Betriebssystem ist dafür verantwortlich, dass die Seitentabellen aktuell sind und die Daten zwischen Platte und DRAM ausgetauscht werden [BO10, S. 815] 1. Februar2011 TechnischeUniversitätDarmstadt Dr.-Ing. Wolfgang Heenes 30
31 Virtueller Speicher Seitentabelle Physical page number or Valid disk address PTE 0 0 null null 0 PTE 7 1 Memory resident page table (DRAM) Physical memory (DRAM) VP 1 VP 2 VP 7 VP 4 Virtual memory (disk) VP 1 VP 2 VP 3 VP 4 VP 6 VP 7 PP 0 PP 3 Abbildung: Quelle: [BO10, S. 815] 1. Februar2011 TechnischeUniversitätDarmstadt Dr.-Ing. Wolfgang Heenes 31
32 Virtueller Speicher Seitentabellen Seitentabelle ist ein Feld von sogenannten Seitentabelleneinträgen (page table entries) Für jeden Seitentabelleneintrag gibt es ein Valid Bit und ein Adressfeld valid Bit gibt an, wo die die virtuelle Seite gerade gespeichert ist wenn Valid Bit Null ist und eine Null-Adresse eingetragen ist, wurde die virtuelle Seite noch nie allokiert, ansonsten zeigt die Adresse auf den Start der virtuellen Seite auf der Festplatte Beispiel zeigt: acht virtuelle Seiten, vier physikalische Seiten VP1, VP2, VP4 und VP7 sind im physikalischen Speicher DRAM DRAM ist vollassoziativ jede physikalische Seite kann jede virtuelle Seite enthalten 1. Februar2011 TechnischeUniversitätDarmstadt Dr.-Ing. Wolfgang Heenes 32
33 Virtueller Speicher Seitentabellen - Page Hits CPU liest ein Wort aus dem virtuellen Speicher, welches in VP2 ist PTE2 zeigt auf PP1 und Valid Bit ist gesetzt. Virtual address Physical page number or Valid disk address PTE 0 0 null null 0 PTE 7 1 Memory resident page table (DRAM) Physical memory (DRAM) VP 1 VP 2 VP 7 VP 4 Virtual memory (disk) VP 1 VP 2 VP 3 VP 4 VP 6 VP 7 PP 0 PP 3 Abbildung: Quelle: [BO10, S. 816] 1. Februar2011 TechnischeUniversitätDarmstadt Dr.-Ing. Wolfgang Heenes 33
34 Virtueller Speicher Seitentabellen - Page Faults CPU liest ein Wort aus dem virtuellen Speicher, welches in VP3 ist PTE3 zeigt auf zeigt auf Festplatte, Valid Bit ist nicht gesetzt. Virtual address Physical page number or Valid disk address PTE 0 0 null null 0 PTE 7 1 Memory resident page table (DRAM) Physical memory (DRAM) VP 1 VP 2 VP 7 VP 4 Virtual memory (disk) VP 1 VP 2 VP 3 VP 4 VP 6 VP 7 PP 0 PP 3 Abbildung: Quelle: [BO10, S. 817] 1. Februar2011 TechnischeUniversitätDarmstadt Dr.-Ing. Wolfgang Heenes 34
35 Virtueller Speicher Seitentabellen - Page Faults VP4 wird ersetzt durch VP3 Virtual address Physical page number or Valid disk address PTE 0 0 null null 0 PTE 7 1 Memory resident page table (DRAM) Physical memory (DRAM) VP 1 VP 2 VP 7 VP 3 Virtual memory (disk) VP 1 VP 2 VP 3 VP 4 VP 6 VP 7 PP 0 PP 3 Abbildung: Quelle: [BO10, S. 817] 1. Februar2011 TechnischeUniversitätDarmstadt Dr.-Ing. Wolfgang Heenes 35
36 Virtueller Speicher Seitentabellen - Page Allokation VP5 wird allokiert, neuer Eintrag im virtuellen Speicher (Festplatte) Physical page number or Valid disk address PTE 0 0 null PTE 7 1 Memory resident page table (DRAM) 1. Februar2011 TechnischeUniversitätDarmstadt Dr.-Ing. Wolfgang Heenes 36 Physical memory (DRAM) VP 1 VP 2 VP 7 VP 3 Virtual memory (disk) VP 1 VP 2 VP 3 VP 4 VP 5 VP 6 VP 7 PP 0 PP 3
37 Virtueller Speicher Virtueller Speicher zur Speicherverwaltung Bisher erfüllt die Seitentabelle eine Cache-Funktion Prozessmodell Abbildung mehrerer VP auf einen physikalischen Speicher Virtual address spaces Physical memory Process i: 0 VP 1 VP 2 Address translation 0 N-1 0 Shared page Process j: VP 1 VP 2 N-1 M-1 Abbildung: Quelle: [BO10, S. 819] 1. Februar2011 TechnischeUniversitätDarmstadt Dr.-Ing. Wolfgang Heenes 37
38 Virtueller Speicher Konzepte zur Adressübersetzung Grundlagen der Adressübersetzung Grundlegende Parameter N = 2 n : Anzahl der Adressen im virtuellen Adressraum M = 2 m : Anzahl der Adressen im physikalischen Adressraum P = 2 p : Seitengröße (page size) in Bytes Komponenten der virtuellen Adressen (VA) VPO : Virtuelle Seite Offset VPN : Virtuelle Seiten Nummer TLBI : TLB Index TLBT : TLB Tag Komponenten der physikalischen Adressen (PA) PPO : Physikalische Seiten Offset PPN : Physikalische Seiten Nummer CO : Byte Offset im Cache Block CI : Cache Index, CT : Cache Tag 1. Februar2011 TechnischeUniversitätDarmstadt Dr.-Ing. Wolfgang Heenes 38
39 Virtueller Speicher Konzepte zur Adressübersetzung Funktion der der MMU Page table base register (PTBR) VIRTUAL ADDRESS n 1 p p 1 0 Virtual page number (VPN) Virtual page offset (VPO) Valid Physical page number (PPN) The VPN acts as index into the page table Page table If valid=0 then page not in memory (page fault) m 1 p p 1 0 Physical page number (PPN) Physical page offset (PPO) PHYSICAL ADDRESS Abbildung: Quelle: [BO10, S. 823] 1. Februar2011 TechnischeUniversitätDarmstadt Dr.-Ing. Wolfgang Heenes 39
40 Virtueller Speicher Konzepte zur Adressübersetzung Erklärungen zum Konzept der Adressübersetzung Es gibt ein Kontrollregister in der CPU Page Table Base Register (PTBR) MMU benutzt VPN zur Auswahl eines Eintrages in der Seitentabelle VPN 0 würde z. B. PTE 0 auswählen In dem Seitentabelleneintrag findet man die physikalische Seitennummer Realisierung der Seitentabelle?! 1. Februar2011 TechnischeUniversitätDarmstadt Dr.-Ing. Wolfgang Heenes 40
41 Virtueller Speicher Konzepte zur Adressübersetzung Operationen bei einem Seitentreffer (page hit) CPU chip 2 PTEA PTE 1 Processor MMU 3 Cache/ VA memory PA 4 Data 5 Abbildung: Quelle: [BO10, S. 824] 1. Februar2011 TechnischeUniversitätDarmstadt Dr.-Ing. Wolfgang Heenes 41
42 Virtueller Speicher Konzepte zur Adressübersetzung Operationen bei einem Seitenfehler (page fault) 4 Exception Page fault exception handler CPU chip 2 PTEA 1 PTE Processor MMU Cache/ VA 3 memory 7 Victim page 5 New page 6 Disk Abbildung: Quelle: [BO10, S. 824] 1. Februar2011 TechnischeUniversitätDarmstadt Dr.-Ing. Wolfgang Heenes 42
43 Virtueller Speicher Konzepte zur Adressübersetzung Virtueller Speicher mit Cache-Hierarchie CPU chip PTE Processor VA MMU PTEA PA PTEA hit PTEA miss PA miss PTE PTEA PA Memory PA hit Data Data L1 cache Abbildung: Quelle: [BO10, S. 825] 1. Februar2011 TechnischeUniversitätDarmstadt Dr.-Ing. Wolfgang Heenes 43
44 Translation Lookaside Buffer Konzepte zur Beschleunigung der Adressübersetzung Adressübersetzung sehr aufwendig, im Prinzip kann es in jedem Cache L1, L2 und L3 einen Miss geben und die PTE muss dann aus dem Speicher geholt werden. Viele Systeme benutzen deshalb einen sogenannten Translation Lookaside Buffer (TLB) TLB ist ein kleiner Cache, der mit virtuellen Adressen angesprochen wird Ein Cache-Hit (TLB Hit) führt dann zu dem PTE, welchen die MMU zur Bildung der physikalischen Adresse benutzt Aufbau der virtuellen Adresse bei Benutzung mit TLB n-1 p+t p+t-1 p p-1 TLB tag (TLBT) TLB index (TLBI) VPO 0 VPN Abbildung: Quelle: [BO10, S. 826] 1. Februar2011 TechnischeUniversitätDarmstadt Dr.-Ing. Wolfgang Heenes 44
45 Translation Lookaside Buffer Konzepte zur Beschleunigung der Adressübersetzung TLB Hit CPU chip TLB 2 VPN PTE 3 Processor 1 VA Translation 4 PA Cache/ memory 5 Data Abbildung: Quelle: [BO10, S. 827] 1. Februar2011 TechnischeUniversitätDarmstadt Dr.-Ing. Wolfgang Heenes 45
46 Translation Lookaside Buffer Konzepte zur Beschleunigung der Adressübersetzung TLB Miss CPU chip 2 VPN TLB 4 PTE 3 Processor 1 VA Translation PTEA PA 5 Cache/ memory Data 6 Abbildung: Quelle: [BO10, S. 826] 1. Februar2011 TechnischeUniversitätDarmstadt Dr.-Ing. Wolfgang Heenes 46
47 TLB beim Core i7 Übersicht des Speichersystems Processor package Core x4 Registers Instruction fetch MMU (addr translation) L1 d-cache 32 KB, 8-way L1 i-cache 32 KB, 8-way L1 d-tlb 64 entries, 4-way L1 i-tlb 128 entries, 4-way L2 unified cache 256 KB, 8-way L2 unified TLB 512 entries, 4-way QuickPath interconnect GB/s GB/s total To other cores To I/O bridge L3 unified cache 8 MB, 16-way (shared by all cores) DDR3 Memory controller 3 x GB/s 32 GB/s total (shared by all cores) Main memory 1. Februar2011 TechnischeUniversitätDarmstadt Dr.-Ing. Wolfgang Heenes 47
48 TLB beim Core i7 Übersicht des Speichersystems CPU Virtual address (VA) VPN VPO 32 4 TLBT TLBI TLB miss... L1 TLB (16 sets, 4 entries/set) TLB hit 32/64 Result L1 hit L1 d-cache (64 sets, 8 lines/set)... L2, L3, and main memory L1 miss CR VPN1 VPN2 VPN3 VPN4 PTE PTE PTE PTE PPN PPO Physical address (PA) CT CI CO Page tables 1. Februar2011 TechnischeUniversitätDarmstadt Dr.-Ing. Wolfgang Heenes 48
49 Virtueller Speicher bei einem Linux Prozess Different for each process Identical for each process %esp Process-specific data structures (e.g., page tables, task and mm structs, kernel stack) Physical memory Kernel code and data User stack Kernel virtual memory brk 0x (32) 0x (64) 0 Memory mapped region for shared libraries Runtime heap (via malloc) Uninitialized data (.bss) Initialized data (.data) Program text (.text) Process virtual memory 1. Februar2011 TechnischeUniversitätDarmstadt Dr.-Ing. Wolfgang Heenes 49
50 Zusammenfassung und Ausblick Betriebssysteme III Speicherverwaltung Virtueller Speicher Nächste Vorlesung behandelt Betriebssysteme IV Dateisystem 1. Februar2011 TechnischeUniversitätDarmstadt Dr.-Ing. Wolfgang Heenes 50
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
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
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
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
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
MehrGrundlagen der Informatik III Wintersemester 2010/ Vorlesung Dr.-Ing. Wolfgang Heenes
Grundlagen der Informatik III Wintersemester 2010/2011 15. Vorlesung Dr.-Ing. Wolfgang Heenes int main() { printf("hello, world!"); return 0; } msg: main:.data.asciiz "Hello, world!".text.globl main la
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
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
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
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
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
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
Mehr7. Speicherverwaltung
7. Speicherverwaltung Ziele Zuteilung des Arbeitsspeicher Abbildung der symbolischen Adresse auf die physikalische Adresse Adress-Transformation Symbolische Adresse verschiebbare Adresse physikalische
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
MehrCA Übung 30.01.2006. Christian kann heute nicht kommen => ich bin heute da, Christian das nächste Mal wieder
CA Übung 30.01.2006 Hallo zusammen! Christian kann heute nicht kommen => ich bin heute da, Christian das nächste Mal wieder Adrian Schüpbach: scadrian@student.ethz.ch Christian Fischlin: cfischli@student.ethz.ch
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
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
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
MehrFreispeicherverwaltung
Freispeicherverwaltung Allgemeine Techniken und Anwendung unter Linux Martin Wahl, 17.11.03 Freispeicherverwaltung 1 Überblick Allgemeines Suchstrategien Verwaltungsstrategien externer / interner Verschnitt
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
MehrTechnische Informatik II Wintersemester 2002/03 Sommersemester 2001. Heiko Holtkamp Heiko@rvs.uni-bielefeld.de
Technische Informatik II Wintersemester 2002/03 Sommersemester 2001 Heiko Holtkamp Heiko@rvs.uni-bielefeld.de Speicher ist eine wichtige Ressource, die sorgfältig verwaltet werden muss. In der Vorlesung
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
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)
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
MehrVirtueller Speicher. SS 2012 Grundlagen der Rechnerarchitektur Speicher 44
Virtueller Speicher SS 2012 Grundlagen der Rechnerarchitektur Speicher 44 Die Idee Virtuelle Adressen Prozess 1 Speicherblock 0 Speicherblock 1 Speicherblock 2 Speicherblock 3 Speicherblock 4 Speicherblock
MehrBetriebssysteme. 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
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
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
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
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
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
MehrAufgabe 4 : Virtueller Speicher
Sommer 216 Technische Informatik I Lösungsvorschlag Seite 16 Aufgabe 4 : Virtueller Speicher (maximal 27 Punkte) 4.1: Generelle Funktionsweise (maximal 5 Punkte) (a) (1 Punkt) Nennen Sie zwei Gründe, weshalb
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
Mehr5 Speicherverwaltung. bs-5.1 1
5 Speicherverwaltung bs-5.1 1 Pufferspeicher (cache) realer Speicher Primärspeicher/Arbeitsspeicher (memory) Sekundärspeicher/Hintergrundspeicher (backing store) (Tertiärspeicher/Archivspeicher) versus
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
MehrHans-Georg Eßer, Hochschule München, Betriebssysteme I, SS Speicherverwaltung 1
Sep 19 14:20:18 amd64 sshd[20494]: Accepted rsa for esser from ::ffff:87.234.201.207 port 61557 Sep 19 14:27:41 amd64 syslog-ng[7653]: STATS: dropped 0 Sep 20 01:00:01 amd64 /usr/sbin/cron[29278]: (root)
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
MehrÜbung zu Grundlagen der Betriebssysteme. 13. Übung 22.01.2012
Übung zu Grundlagen der Betriebssysteme 13. Übung 22.01.2012 Aufgabe 1 Fragmentierung Erläutern Sie den Unterschied zwischen interner und externer Fragmentierung! Als interne Fragmentierung oder Verschnitt
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
MehrTechnische Informatik 1 - Übung & 22. Dezember Philipp Miedl
Technische Informatik 1 - Übung 11 21. & 22. Dezember 2017 Philipp Miedl Philipp Miedl 21.12.2017 22.12.2017 1 Motivation Aufteilen des Hauptspeichers auf mehrere Prozesse Philipp Miedl 21.12.2017 22.12.2017
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
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
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
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
MehrTechnische Informatik 2 Speichersysteme, Teil 3
Technische Informatik 2 Speichersysteme, Teil 3 Prof. Dr. Miroslaw Malek Sommersemester 2004 www.informatik.hu-berlin.de/rok/ca Thema heute Virtueller Speicher (Fortsetzung) Translation Lookaside Buffer
MehrBetriebssysteme 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
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
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
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
MehrEinführung in die technische Informatik
Einführung in die technische Informatik Christopher Kruegel chris@auto.tuwien.ac.at http://www.auto.tuwien.ac.at/~chris Betriebssysteme Aufgaben Management von Ressourcen Präsentation einer einheitlichen
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.
MehrRechnerorganisation. Überblick über den Teil 13
Rechnerorganisation Teil 3 9. Juni 2 KC Posch Überblick über den Teil 3 Arbiter: Wie können sich 2 aktive Partner vertragen? Direkter Speicherzugriff: Ein Ko Prozessor zum Daten Schaufeln Die Verbesserung
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
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:
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
MehrProseminar 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
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
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,
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
MehrCPU. Memory. Highest. Fastest. Smallest. Memory. Biggest. Lowest
Speed CPU Size Cost ($/bit) Fastest Memory Smallest Highest Memory Slowest Memory Biggest Lowest Processor Data are transferred CPU Levels in the memory hierarchy Level Level 2 Increasing distance from
MehrBetriebssysteme. Wintersemester Kapitel 3 Speicherverwaltung. Patrick Kendzo
Betriebssysteme Wintersemester 2015 Kapitel 3 Speicherverwaltung Patrick Kendzo ppkendzo@gmail.com Programm Inhalt Einleitung Prozesse und Threads Speicherverwaltung Ein- / Ausgabe und Dateisysteme Zusammenfassung
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 -
MehrTechnische Informatik 1
Technische Informatik 1 7 Prozesse und Threads Lothar Thiele Computer Engineering and Networks Laboratory Betriebssystem 7 2 7 3 Betriebssystem Anwendung Anwendung Anwendung Systemaufruf (syscall) Betriebssystem
MehrBesprechung der Probeklausur Übungsscheine, inoffizielle Evaluation Übungsaufgaben Noch Fragen?
Themen heute Besprechung der Probeklausur Übungsscheine, inoffizielle Evaluation Übungsaufgaben Noch Fragen? Besprechung der Probeklausur Probeklausur wird jetzt ausgeteilt Notenschlüssel: 45 37,5 Punkte:
Mehrwichtigstes Betriebsmittel - neben dem Prozessor: Speicher
Speicherverwaltung Aufgaben der Speicherverwaltung wichtigstes Betriebsmittel - neben dem Prozessor: Speicher Sowohl die ausführbaren Programme selbst als auch deren Daten werden in verschiedenen Speicherbereichen
Mehr4. Übung - Rechnerarchitektur/Betriebssysteme
4. Übung - Rechnerarchitektur/Betriebssysteme 1. Aufgabe: Caching Informatik I für Verkehrsingenieure Aufgaben inkl. Beispiellösungen a) Was ist ein Cache? Wann kommt Caching zum Einsatz? b) Welchen Vorteil
MehrAnbindung zum Betriebssystem (BS)
5.1 Einleitung Anbindung zum Betriebssystem (BS) Aufgaben BS Schnittstelle zur Hardware Sicherstellung des Betriebs mit Peripherie Dienste erfüllen für Benutzung des Rechners durch Verwaltung der Ressourcen
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
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
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
MehrSpeicher- 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
MehrLinux Memory Management für MySQL
Linux Memory Management für MySQL SIG MySQL - Performance 13.03.2012 Marius Dorlöchter mdo@ordix.de www.ordix.de Vorstellung Marius Dorlöchter Consultant bei ORDIX seit 2006 Gruppe Systemintegration Betriebssysteme:
Mehr(Prof. Dr. J. Schlichter, WS 2011 / 2012) Übungsleitung: Dr. Wolfgang Wörndl (gbs-ws11@mailschlichter.informatik.tu-muenchen.de)
Ü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, 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
MehrKapitel 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
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
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
MehrEnterprise Computing Einführung in das Betriebssystem z/os. Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth WS2012/13
UNIVERSITÄT LEIPZIG Enterprise Computing Einführung in das Betriebssystem z/os Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth WS2012/13 Verarbeitungsgrundlagen Teil 2 Virtual Storage el0100 copyright
MehrBetriebssystemtechnik
Betriebssystemtechnik Übung 2 - Den Speicher beseiten Daniel Danner Christian Dietrich Gabor Drescher May 19, 2015 Betriebssystemtechnik 1 13 Ziel dieser Übung Betriebssystemtechnik 2 13 Ziel dieser Übung
MehrBetriebssysteme SS Hans-Georg Eßer Dipl.-Math., Dipl.-Inform. SB 3 ( , v2) Speicherverwaltung Ein-/Ausgabegeräte und Schnittstellen
Betriebssysteme SS 2013 Hans-Georg Eßer Dipl.-Math., Dipl.-Inform. SB 3 (17.03.2013, v2) Speicherverwaltung Ein-/Ausgabegeräte und Schnittstellen 17.03.2013, v2 Modul 6: Betriebssysteme, SS 2013, Hans-Georg
MehrU4-1 Aufgabe 3: einfache malloc-implementierung
U4 3. Übung U4 3. Übung Besprechung der Aufgabe 2: wsort Aufgabe 3: malloc-implementierung Ziele der Aufgabe Zusammenhang zwischen "nacktem Speicher" und typisierten bereichen verstehen Funktion aus der
MehrKapitel 6 Speicherverwaltung Seite 1 zum Teil nach: Silberschatz&Galbin, Operating System Concepts, Addison-Wesley)
Kapitel 6 Speicherverwaltung Seite 1 6 Speicherverwaltung 6.1 Hintergrund Ein Programm muß zur Ausführung in den Hauptspeicher gebracht werden und in die Prozeßstruktur eingefügt werden. Dabei ist es in
MehrDynamisches Speichermanagement
Dynamisches Speichermanagement Proseminar C-Programmierung - Grundlagen und Konzepte Timo Minartz timo.minartz@informatik.uni-hamburg.de Wissenschaftliches Rechnen Fachbereich Informatik Universität Hamburg
MehrGrundlagen der Informatik III Wintersemester 2010/ Vorlesung Dr.-Ing. Wolfgang Heenes
Grundlagen der Informatik III Wintersemester 2010/2011 5. Vorlesung Dr.-Ing. Wolfgang Heenes int main() { printf("hello, world!"); return 0; } msg: main:.data.asciiz "Hello, world!".text.globl main la
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
MehrGrundlagen der Informatik III Wintersemester 2010/2011
Grundlagen der Informatik III Wintersemester 21/211 Wolfgang Heenes, atrik Schmittat 12. Aufgabenblatt mit Lösungsvorschlag 7.2.211 Hinweis: Der Schnelltest und die Aufgaben sollen in den Übungsgruppen
MehrMain Memory. Hauptspeicher. Memories. Speichermodule. SIMM: single inline memory module 72 Pins. DIMM: dual inline memory module 168 Pins
5 Main Memory Hauptspeicher Memories 2 Speichermodule SIMM: single inline memory module 72 Pins DIMM: dual inline memory module 68 Pins 3 Speichermodule 4 Speichermodule 5 Speichermodule 6 2 Hauptspeicher
MehrSpeicherverwaltung 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
MehrAnbindung 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
Mehr4. Übung - Rechnerarchitektur/Betriebssysteme
4. Übung - Rechnerarchitektur/Betriebssysteme 1. Aufgabe: Caching Informatik I für Verkehrsingenieure Aufgaben inkl. Beispiellösungen a) Was ist ein Cache? Wann kommt Caching zum Einsatz? b) Welchen Vorteil
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
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
Mehr1. Speicher. Typische Nutzung eines Adreßraums. Systemsoftware. Textbereich relativ klein. Sehr großer Abstand zwischen Heap und Stack
1. Speicher 1 Typische Nutzung eines Adreßraums Textbereich relativ klein Sehr großer Abstand zwischen Heap und Stack Keine Verunreinigungen durch: E/A-Bereiche nicht bestückte Adreßbereiche fremde Kontrollflüsse
Mehr5.4 Segmentierung. Einfachstes Beispiel: 1 Code-Segment + 1 Datensegment. 0 codelength 0 datalength. bs-5.4 1
5.4 Segmentierung Adressraum besteht aus mehreren Segmenten (segments), die unabhängig voneinander manipulierbar sind. Segmentierungsstruktur ist festgelegt durch die Hardware den Adressumsetzer. Einfachstes
MehrKapitel 9 Hauptspeicherverwaltung
Kapitel 9 Hauptspeicherverwaltung Einführung: Speicher als Betriebsmittel Speicherkapazität wächst ständig ein PC heute hat 1000 mal soviel Speicher wie 1965 der größte Computer der Welt Anwendungsprogramme
Mehr5.4 Segmentierung. Einfachstes Beispiel: 1 Code-Segment + 1 Datensegment. 0 codelength 0 datalength. bs-5.4 1
5.4 Segmentierung Adressraum besteht aus mehreren Segmenten (segments), die unabhängig voneinander manipulierbar sind. Segmentierungsstruktur ist festgelegt durch die Hardware den Adressumsetzer. Einfachstes
MehrDOSEMU. Vortrag im Hauptseminar Konzepte und Techniken virtueller Maschinen und Emulatoren. Matthias Felix FAU. 13.
DOSEMU Vortrag im Hauptseminar Konzepte und Techniken virtueller Maschinen und Emulatoren Matthias Felix filo@icip.de FAU 13. Juni 2007 Matthias Felix (FAU) DOSEMU 13. Juni 2007 1 / 22 Inhalt 1 Einführung
Mehr