Grundlagen der Informatik III Wintersemester 2010/ Vorlesung Dr.-Ing. Wolfgang Heenes

Größe: px
Ab Seite anzeigen:

Download "Grundlagen der Informatik III Wintersemester 2010/ Vorlesung Dr.-Ing. Wolfgang Heenes"

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

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

Mehr

Tutorium Rechnerorganisation

Tutorium Rechnerorganisation Woche 11 Tutorien 3 und 4 zur Vorlesung Rechnerorganisation 1 Christian A. Mandery: KIT Universität des Landes Baden-Württemberg und nationales Grossforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu

Mehr

Zwei Möglichkeiten die TLB zu aktualisieren

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

Mehr

Besprechung des 9. Übungsblattes Virtuelle Speicherverwaltung Aufgaben

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

Mehr

Leichtgewichtsprozesse

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

Mehr

Leichtgewichtsprozesse

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

Mehr

Grundlagen der Informatik III Wintersemester 2010/ Vorlesung Dr.-Ing. Wolfgang Heenes

Grundlagen 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

Mehr

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

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

Mehr

Virtueller Speicher und Memory Management

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

Mehr

RO-Tutorien 17 und 18

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

Mehr

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

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

Mehr

Freispeicherverwaltung Martin Wahl,

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

Mehr

Paging. Einfaches Paging. Paging mit virtuellem Speicher

Paging. Einfaches Paging. Paging mit virtuellem Speicher Paging Einfaches Paging Paging mit virtuellem Speicher Einfaches Paging Wie bisher (im Gegensatz zu virtuellem Speicherkonzept): Prozesse sind entweder ganz im Speicher oder komplett ausgelagert. Im Gegensatz

Mehr

7. Speicherverwaltung

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

Mehr

Technische Informatik 1 - HS 2017

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

Mehr

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

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

Mehr

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

Linker: Adreßräume verknüpfen. Informationen über einen Prozeß. Prozeß-Erzeugung: Verwandtschaft Prozeß: drei häufigste Zustände Prozeß: anatomische Betrachtung jeder Prozeß verfügt über seinen eigenen Adreßraum Sourcecode enthält Anweisungen und Variablen Compiler überträgt in Assembler bzw. Binärcode

Mehr

Linux Paging, Caching und Swapping

Linux Paging, Caching und Swapping Linux Paging, Caching und Swapping Inhalte Paging Das Virtuelle Speichermodell Die Page Table im Detail Page Allocation und Page Deallocation Memory Mapping & Demand Paging Caching Die verschiedenen Caches

Mehr

Cache Blöcke und Offsets

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

Mehr

Freispeicherverwaltung

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

Mehr

Wie groß ist die Page Table?

Wie groß ist die Page Table? Wie groß ist die Page Table? Im vorigen (typischen) Beispiel verwenden wir 20 Bits zum indizieren der Page Table. Typischerweise spendiert man 32 Bits pro Tabellen Zeile (im Vorigen Beispiel brauchten

Mehr

Technische Informatik II Wintersemester 2002/03 Sommersemester 2001. Heiko Holtkamp Heiko@rvs.uni-bielefeld.de

Technische Informatik II Wintersemester 2002/03 Sommersemester 2001. Heiko Holtkamp Heiko@rvs.uni-bielefeld.de Technische Informatik II Wintersemester 2002/03 Sommersemester 2001 Heiko Holtkamp Heiko@rvs.uni-bielefeld.de Speicher ist eine wichtige Ressource, die sorgfältig verwaltet werden muss. In der Vorlesung

Mehr

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

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

Mehr

Teil 2: Speicherstrukturen

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

Mehr

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

(Prof. Dr. J. Schlichter, WS 2011 / 2012) Übungsleitung: Dr. Wolfgang Wörndl Übung zur Vorlesung Grundlagen Betriebssysteme und Systemsoftware (Prof. Dr. J. Schlichter, WS 2011 / 2012) Übungsleitung: Dr. Wolfgang Wörndl (gbs-ws11@mailschlichter.informatik.tu-muenchen.de) http://www11.in.tum.de/veranstaltungen/grundlagenbetriebssystemeundsystemsoftwarews1112

Mehr

Virtueller Speicher. SS 2012 Grundlagen der Rechnerarchitektur Speicher 44

Virtueller Speicher. SS 2012 Grundlagen der Rechnerarchitektur Speicher 44 Virtueller Speicher SS 2012 Grundlagen der Rechnerarchitektur Speicher 44 Die Idee Virtuelle Adressen Prozess 1 Speicherblock 0 Speicherblock 1 Speicherblock 2 Speicherblock 3 Speicherblock 4 Speicherblock

Mehr

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

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

Mehr

Echtzeitbetriebssysteme

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

Mehr

(Cache-Schreibstrategien)

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

Mehr

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

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

Mehr

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

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

Mehr

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

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

Mehr

Aufgabe 4 : Virtueller Speicher

Aufgabe 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

Mehr

2.3 Prozessverwaltung

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

Mehr

5 Speicherverwaltung. bs-5.1 1

5 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

Mehr

Lösung von Übungsblatt 2

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

Mehr

Hans-Georg Eßer, Hochschule München, Betriebssysteme I, SS Speicherverwaltung 1

Hans-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)

Mehr

Wunschvorstellung der Entwickler vom Speicher

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

Mehr

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

Übung zu Grundlagen der Betriebssysteme. 13. Übung 22.01.2012 Übung zu Grundlagen der Betriebssysteme 13. Übung 22.01.2012 Aufgabe 1 Fragmentierung Erläutern Sie den Unterschied zwischen interner und externer Fragmentierung! Als interne Fragmentierung oder Verschnitt

Mehr

Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung

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

Mehr

Technische Informatik 1 - Übung & 22. Dezember Philipp Miedl

Technische 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

Mehr

Memory Management. Peter Puschner Institut für Technische Informatik peter@vmars.tuwien.ac.at

Memory Management. Peter Puschner Institut für Technische Informatik peter@vmars.tuwien.ac.at Memory Management Peter Puschner Institut für Technische Informatik peter@vmars.tuwien.ac.at 1 Speicherverwaltung Effektive Aufteilung und Verwaltung des Arbeitsspeichers für BS und Programme Anforderungen

Mehr

Rechnergrundlagen SS Vorlesung

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

Mehr

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

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

Mehr

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

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

Mehr

Technische Informatik 2 Speichersysteme, Teil 3

Technische Informatik 2 Speichersysteme, Teil 3 Technische Informatik 2 Speichersysteme, Teil 3 Prof. Dr. Miroslaw Malek Sommersemester 2004 www.informatik.hu-berlin.de/rok/ca Thema heute Virtueller Speicher (Fortsetzung) Translation Lookaside Buffer

Mehr

Betriebssysteme Studiengang Informatik / SAT

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

Mehr

Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung

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

Mehr

Betriebssysteme Teil 10 B: Fragen rund um Seitenfehler

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

Mehr

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

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

Mehr

Einführung in die technische Informatik

Einführung in die technische Informatik Einführung in die technische Informatik Christopher Kruegel chris@auto.tuwien.ac.at http://www.auto.tuwien.ac.at/~chris Betriebssysteme Aufgaben Management von Ressourcen Präsentation einer einheitlichen

Mehr

Grundlagen der Informatik III Wintersemester 2010/2011

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

Mehr

Rechnerorganisation. Überblick über den Teil 13

Rechnerorganisation. Ü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

Mehr

Fachbericht Thema: Virtuelle Speicherverwaltung

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

Mehr

Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung

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

Mehr

Konzepte von Betriebssystem- Komponenten Olessia Usik 20. Juni 2005

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

Mehr

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

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

Mehr

Speicherverwaltung (Swapping und Paging)

Speicherverwaltung (Swapping und Paging) Speicherverwaltung (Swapping und Paging) Rückblick: Segmentierung Feste Einteilung des Speichers in einzelne Segmente 750k 0 Rückblick: Segmentierung Feste Einteilung des Speichers in einzelne Segmente

Mehr

Grundlagen Rechnerarchitektur und Betriebssysteme

Grundlagen 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,

Mehr

5.5 Virtueller Speicher

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

Mehr

CPU. Memory. Highest. Fastest. Smallest. Memory. Biggest. Lowest

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

Mehr

Betriebssysteme. Wintersemester Kapitel 3 Speicherverwaltung. Patrick Kendzo

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

Mehr

Hauptspeicherverwaltung - Memory Management

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

Mehr

Technische Informatik 1

Technische 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

Mehr

Besprechung der Probeklausur Übungsscheine, inoffizielle Evaluation Übungsaufgaben Noch Fragen?

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

Mehr

wichtigstes Betriebsmittel - neben dem Prozessor: Speicher

wichtigstes Betriebsmittel - neben dem Prozessor: Speicher Speicherverwaltung Aufgaben der Speicherverwaltung wichtigstes Betriebsmittel - neben dem Prozessor: Speicher Sowohl die ausführbaren Programme selbst als auch deren Daten werden in verschiedenen Speicherbereichen

Mehr

4. Übung - Rechnerarchitektur/Betriebssysteme

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

Mehr

Anbindung zum Betriebssystem (BS)

Anbindung zum Betriebssystem (BS) 5.1 Einleitung Anbindung zum Betriebssystem (BS) Aufgaben BS Schnittstelle zur Hardware Sicherstellung des Betriebs mit Peripherie Dienste erfüllen für Benutzung des Rechners durch Verwaltung der Ressourcen

Mehr

Vorlesung: Rechnerstrukturen, Teil 2 (Modul IP7)

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

Mehr

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

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

Mehr

Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung. Maren Bennewitz

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

Mehr

Speicher- Management

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

Mehr

Linux Memory Management für MySQL

Linux 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)

(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.,

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

Mehr

Kapitel VI. Speicherverwaltung. Speicherverwaltung

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

Mehr

Systeme I: Betriebssysteme Kapitel 4 Prozesse. Wolfram Burgard

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

Mehr

Lösung von Übungsblatt 5

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

Mehr

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

Enterprise Computing Einführung in das Betriebssystem z/os. Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth WS2012/13 UNIVERSITÄT LEIPZIG Enterprise Computing Einführung in das Betriebssystem z/os Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth WS2012/13 Verarbeitungsgrundlagen Teil 2 Virtual Storage el0100 copyright

Mehr

Betriebssystemtechnik

Betriebssystemtechnik 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

Mehr

Betriebssysteme SS Hans-Georg Eßer Dipl.-Math., Dipl.-Inform. SB 3 ( , v2) Speicherverwaltung Ein-/Ausgabegeräte und Schnittstellen

Betriebssysteme 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

Mehr

U4-1 Aufgabe 3: einfache malloc-implementierung

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

Mehr

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

Kapitel 6 Speicherverwaltung Seite 1 zum Teil nach: Silberschatz&Galbin, Operating System Concepts, Addison-Wesley) Kapitel 6 Speicherverwaltung Seite 1 6 Speicherverwaltung 6.1 Hintergrund Ein Programm muß zur Ausführung in den Hauptspeicher gebracht werden und in die Prozeßstruktur eingefügt werden. Dabei ist es in

Mehr

Dynamisches Speichermanagement

Dynamisches Speichermanagement Dynamisches Speichermanagement Proseminar C-Programmierung - Grundlagen und Konzepte Timo Minartz timo.minartz@informatik.uni-hamburg.de Wissenschaftliches Rechnen Fachbereich Informatik Universität Hamburg

Mehr

Grundlagen der Informatik III Wintersemester 2010/ Vorlesung Dr.-Ing. Wolfgang Heenes

Grundlagen 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

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

Mehr

Grundlagen der Informatik III Wintersemester 2010/2011

Grundlagen der Informatik III Wintersemester 2010/2011 Grundlagen der Informatik III Wintersemester 21/211 Wolfgang Heenes, atrik Schmittat 12. Aufgabenblatt mit Lösungsvorschlag 7.2.211 Hinweis: Der Schnelltest und die Aufgaben sollen in den Übungsgruppen

Mehr

Main Memory. Hauptspeicher. Memories. Speichermodule. SIMM: single inline memory module 72 Pins. DIMM: dual inline memory module 168 Pins

Main 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

Mehr

Speicherverwaltung und Cache Erläuterungen

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

Mehr

Anbindung zum Betriebssystem (BS)

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

Mehr

4. Übung - Rechnerarchitektur/Betriebssysteme

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

Mehr

Lösungsvorschlag für Übung September 2009

Lö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

Mehr

Betriebssysteme I WS 2017/18. Prof. Dr. Dirk Müller. 05a 64-/32-Bit-Architekturen

Betriebssysteme 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

Mehr

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

1. Speicher. Typische Nutzung eines Adreßraums. Systemsoftware. Textbereich relativ klein. Sehr großer Abstand zwischen Heap und Stack 1. Speicher 1 Typische Nutzung eines Adreßraums Textbereich relativ klein Sehr großer Abstand zwischen Heap und Stack Keine Verunreinigungen durch: E/A-Bereiche nicht bestückte Adreßbereiche fremde Kontrollflüsse

Mehr

5.4 Segmentierung. Einfachstes Beispiel: 1 Code-Segment + 1 Datensegment. 0 codelength 0 datalength. bs-5.4 1

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

Mehr

Kapitel 9 Hauptspeicherverwaltung

Kapitel 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

Mehr

5.4 Segmentierung. Einfachstes Beispiel: 1 Code-Segment + 1 Datensegment. 0 codelength 0 datalength. bs-5.4 1

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

Mehr

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