Memory Management, Virtual Memory Tanenbaum Kap. 3 Stallings Kap. 7, 8 Glatz Kap. 7

Größe: px
Ab Seite anzeigen:

Download "Memory Management, Virtual Memory Tanenbaum Kap. 3 Stallings Kap. 7, 8 Glatz Kap. 7"

Transkript

1 Memory Mangement Memory Management, Virtual Memory Tanenbaum Kap. 3 Stallings Kap. 7, 8 Glatz Kap

2 Inhalt Lehrziele Memory Management Prozesse im Speicher logische / physikalische Adressen Swapping Einfaches MM fixed Partitioning dynamic Partitioning Placement Buddy System Paging (Segmentation) Diskussion

3 Lehrziele: Memory Management Sie können die Begriffe logische und physikalische Adresse erklären und diskutieren erklären, um was es beim Swapping geht die grundlegenden Verfahren des Memory Managements aufzählen und diskutieren Paging erklären und diskutieren 3 3

4 Memory Managment: um was geht es? Uniprocessing ein Prozess und das Betriebssystem stehen im Speicher zum Beispiel Multiprogramming mehrere Prozesse und das BS stehen im Speicher div. Verwaltungsprozesse bessere CPU-Nutzung Programmierer / Anwender will sich nicht um Speicher kümmern transparente Speicherverwaltung notwendig 4 Multiprogramming - mehrere Prozesse werden gleichzeitig verarbeitet - aktive Prozesse müssen im Speicher stehen - wenn zu wenige Prozesse im Speicher die meisten Prozesse warten auf I/O der Prozessor hat nichts zu tun: ist "idle" - keine Voraussage möglich wann ein Prozess verarbeitet wird wo ein Prozess im Speicher steht - Implikationen Prozess muss an beliebigen Ort im Speicher stehen können Anzahl Prozesse durch Speichergrösse beschränkt Prozessgrösse muss bekannt sein Weitere Anforderungen - Programmierer/Anwender will sich im Allgemeinen nicht um Speicherverwaltung kümmern - Speicherhierarchie notwendig, weil schneller Speicher teuer 4

5 Zwei Ansätze Einfaches Memory Management ganzer Prozess im Speicher einfaches Paging einfache Segmentation typische Anwendung: "kleine Systemen" - Eingebettete Systeme, Echtzeitsysteme, Palmtops, etc. Virtual Memory aktiver Teil des Prozesses im Speicher - Rest ist auf den Sekundärspeicher ausgelagert Paging Hard- und Softwareunterstützung notwendig typische Anwendung in "grossen Systemen" - Workstation, Server, PCs, etc 5 Zwei grundlegende Lösungsansätze - einfaches Memory Management (basic memory management) ganzer Prozesse steht im Speicher traditioneller Ansatz Anwender oft selbst für Memory Management verantwortlich, z.b. mit overlays, etc. - virtual memory (VM) die aktiven Teile des Prozesses stehen im Speicher virtualisiert den Speicher Anwender sieht gesamten Adressraum des Prozessors unabhängig von der Grösse des physikalischen Speichers Betriebssystem verwaltet physikalischen Speicher transparent Wieso kann Virtual Memory bei Embedded Systems oft nicht eingesetzt werden? 5

6 Was gehört zu Memory Management? Logical Organisation logischer Adressraum, lineare Folge von Bytes (Words) "was sieht der Anwender" Physical Organisation physikalische Realisierung: Cache-, Haupt- und Sekundärspeicher "was sieht das Betriebssystem" Protection verhindern, dass sich Prozesse gegenseitig beeinflussen Sharing gemeinsame Speicherbereiche zur Verfügung stellen Relocation verschieben eines Prozesses an beliebigen Ort im Speicher 6 Logical Organisation - logischer Adressraum, lineare Folge von Bytes - logische Segmente: Programm, Daten, Stack - Vorteile verschiedene Zugriffsrechte möglich gemeinsame Nutzung von Modulen (Adressierung zur Laufzeit gelöst) Physikalische Organisation - Verwaltung der Speicherhierarchie - Hauptspeicher: Programme in Ausführung - Sekundärspeicher: Zwischen- und Langzeitspeicherung - Datenfluss zwischen Haupt- und Sekundärspeicher: Teil des Memory Managements Protection Sharing - Prozesse müssen getrennte Adressräume haben keine gegenseitige Beeinflussung möglich (z.b. Pointer-Fehler) Adressen müssen zur Laufzeit überprüft werden - Betriebssystem braucht eigenen Speicherbereich - z.b. shared memory für kooperierende Prozesse Relocation: - Prozesse müssen auf Disk aus- und eingelagert werden Swapping - Prozesse stehen nicht immer am gleichen Ort im physikalischen Speicher ev. müssen Prozess im Speicher verschoben werden 6

7 Memory Management: Prozesse Prozesse und Adressraum Process Control Information Entry Point to Program increasing address values Adressraum Prozess (logsich) Process Control Block Programm Code Daten "Ladevorgang" Adressraumbelegung (logisch) Programm Code Daten Heap 0x Adressen Current top of stack Stack Stack Betriebssystem 7 Prozesse bestehen aus - einem Prozesskontrollblock - dem Programm - dem Datenbereich - dem Stack Speicherreferenzen in Prozessen - Referenzen auf Instruktionen bei Sprungbefehlen - Referenzen auf Datenwerte - unabhängig von Platzierung im physikalischen Speicher - Folgerung Abbildung zwischen logischen und physikalischen Adressen notwendig 7

8 Logische/physikalische Adressen Logische Adresse Referenz auf Speicherplatz, unabhängig von Speicherorganisation Physikalische Adresse Referenz auf physikalischen Speicherplatz Compiler erzeugen Code mit relativen (logischen) Adressen logischer Adressraum physikalischer Adressraum CPU logische Adresse MMU Memory? Management Unit pysikalische Adresse Memory 8 Adressübersetzung - CPU erzeugt logische bzw. virtuelle Adresse - logische Adressen sind relativ, meist bezogen auf Adresse 0 - muss schnell und transparent sein -> Hardwareunterstützung notwendig Beispiel: Hardwareunterstützung für Relocation - wird heute nur noch von sehr wenigen Rechnern gebraucht Addition eher langsam - Base Register entspricht den Segmentregistern beim x86 8

9 Begriffe: Swapping Main Memory Betriebssystem User Space Prozess P1 Prozess P swap out swap in Disk Prozess P1 Prozess P 9 Oft haben nicht alle Prozesse im Speicher Platz - Swapping auslagern eines Prozesses vom Speicher auf Disk resp. umgekehrt gilt auch für Teiles eines Prozesses (virtual memory) - ausgelagerter Prozess: Prozess ist suspendiert Anmerkung: heute steht viel Speicher zur Verfügung - es können sehr viele Prozesse im Speicher gehalten werden - der gesamte Prozess kann im Spiecher stehen 9

10 Einfaches Memory Management Voraussetzungen gesamter Prozess steht im Hauptspeicher unterstützt Multiprogramming für kleine / einfache Systeme Mögliche Memory Management Verfahren Addressraum zuteilen - fixed partitioning - dynamic partitioning - placement Addressraum aufteilen - paging - (segmentation) 10 10

11 Fixed Partitioning Partitionen gleich gross Partitionen verschieden gross 8M 8M 8M internes Fragment 8M 8M 8M 8M Operating System 8M Operating System Operating System 11 Aufteilung des Hauptspeichers in mehrere nicht überlappende Partitionen - das Betriebssystem belegt i.a. eine feste Partition - vorgegebene Anzahl Prozesse im Speicher - wenn alle Partitionen besetzt sind, kann das BS Prozesse auslagern - falls Programm zu gross für eine Partition ist Anwender Programm mit Overlays realisieren (das Programm lädt benötigte Module selbst und überschreibt nicht benötigte Module) Gleich grosse Partitionen - jedes Programm, egal wie gross, belegt eine Partition - Partiotion nicht vollständig gefüllt: wird internal fragmentation genannt - Nutzung des Hauptspeichers ineffizient Verschieden grosse Partitionen - reduzieren das Problem lösen es nicht - für jede Partition eine Prozess Queue Prozesse der kleinstmöglichen Partition zuweisen versucht interne Fragmentierung zur minimieren Problem: Queues bleiben leer, wenn keine entsprechenden Prozesss vorhanden sind mehr Swapping - für alle Partitionen eine Prozess Queue Prozesse der kleinsten verfügbaren Partition zuweisen Verbesserung bezüglich Multiprogramming Problem: erhöhte interne Fragmentierung 11

12 Dynamic Partitioning Process 1 Process 1 Process 1 Process Process Process 3 Operating System Operating System Operating System Operating System Process 1 Process 1 Process Process 4 Process 4 Process 4 externe Fragmente Process 3 Process 3 Process 3 Process 3 Operating System Operating System Operating System Operating System 1 Grösse und Anzahl der Partitionen variabel - jedem Prozess soviel Speicher zuweisen, wie er benötigt Problem: externe Fragmentatierung - im Hauptspeicher bilden sich mit der Zeit Löcher - Grund: Prozesse werden ausgelagert und können nicht immer durch gleich grosse Prozesse ersetzt werden - Compaction notwendig Prozesse verschieben, bis Löcher geschlossen 1

13 Placement Algorithmen (dynamic partitioning) Gesucht: Block mit 16MByte welchen freien Speicher- Bereich allozieren? 8M 1M M Plazierung First Fit 18M Best Fit Last Allocated 8M 6M 14M 36M Next Fit 13 Diskussion - First Fit - Next Fit - Best Fit einfachster Algorithmus, i.d.r. auch am schnellsten und besten alloziert Blöck eher in Nähe des Speicheranfangs Tendenz: weniger Fragmentatierung als bei Next-Fit alloziert oft freien Block am Schluss des Speichers Blöcke am Ende des Speichers oft am grössten Tendenz: Compaction öfter notwendig als bei first-fit sucht kleinsten Block passenden Block minimiert externes Fragmente zum nächsten Block Tendenz: es entstehen schnell viele kleine Fragmente i.a. schlechtester Algorithmus: Compaction muss öfters durchgeführt werden als bei bei First Fit und Next Fit Replacement Algorithmen - wenn nicht alle Prozesse im Speicher Platz finden Betriebssystem muss Prozess auslagern und durch anderen Prozess ersetzen welcher Prozess soll ausgelagert werden? Diskussion: später zusammen mit Virtual Memory 13

14 Buddy System Kompromiss zwischen fixed und dynamic Partitioning schneller Allokations- und Deallokationsalgorithmus Unix/Linux Kernel verwenden modifizierte Buddy Systeme 1 M request 100k A = K56 K K18 K51K 56 K 1 M 51K request 40k A = 18 K 18 K B = K K 51K release A A = K56 K K18 K B = K K 51K release B A = K56 K K18 K 51K 56 K 51K 51K 1 M 51K 14 Buddy Algorithmus - es werden solange Blöcke halbiert, bis ein Block minimaler Grösse zur Verfügung steht - Daten zum den Freien Blöcken lassen sich mit einem Binärbaum darstellen - effiziente Algorithmen verfügbar (siehe Lit., z.b. Stallings) Unix verwendet modifiziertes Buddy System für die Allokation von Kernel Memory - Modifikation basiert auf Beobachtung, dass Kern während gewisser Zeit immer gleich grosse Speicherblöcke anfordert -> lazy recombination - lazy recombination Buddies werden nicht sofort zusammengeführt, sondern erst wenn ein grösserer Block benötigt wird Linux verwendet Buddy System für Speicherallokation - Slab Allocator 14

15 Paging Programm Code Problemstellungen bis jetzt Fixed Partitioning - interne Fragmentierung Dynamic Partitioning - externe Fragmentierung - erfordert Compaction Prozesse belegen zusammenhängenden Speicherbereich Paging Prozesse in Blöcke gleicher Länge aufgeteilt: Pages Speicher in Blöcke gleicher Länge aufgeteilt: Frames Zuweisung Pages Frames beliebig Daten Heap Stack - Konsequenz: Prozess müssen nicht zusammenhängend im physikalischen Speicher stehen Page 15 Paging - der logische Adressraum der Prozesse wird in Pages aufgeteilt - der physikalische Adressraum wird in Frames (Page Frames) aufgeteilt - Pagegrösse = Framegrösse - heute übliche Pagegrössen: 1KB, 4KB, 8KB Die Speicherwaltung bildet Pages auf Frames ab - Zuweisung beliebig - Frames müssen nicht einen zusammenhängen Block bilden Prozesse auf beliebige Frames verteil - Effizienz: Abbildung in Hardware (siehe Virtulal Memory) 15

16 Paging: Beispiel Page Tabellen P A P B P C P D free 4 Prozesse P A : 4 Pages P B : 3 Pages P C : 4 Pages P D : 5 Pages Speicher 16 Frames Ablauf P A wird geladen P B wird geladen P C wird geladen Prozess P B blockiert wird ausgelagert Prozess P D geladen Wie weiss das Betriebssysten welche Frames zu welchen Prozessen gehören? Pro Prozess unterhält das Betriebssystem eine Page Tabelle - Pagenummer referenziert Tabelleneintr äge - Einträge enthalten die Framenummer der physikalischen Adresse - Liste mit freien Blöcken notwendig Page Tabellen P A P B P C P D free 16

17 ... Paging Wie logisch Adresse in pysikalische Adresse übersetzen? logischer Adressraum Page 0 16 Bit logische Adresse 6 Bit Page Nr. 10 Bit Offset Offset 478 Page 1 Page Page Tabelle physikalischer Adressraum kann kleiner als logischer Adressraum sein 17 6 Bit Frame Nr. 10 Bit Offset 16 Bit physikalische Adresse Jede logische Adresse (N Bit) besteht aus zwei Feldern - einer Pagenummer k höherwertige Bits der Adresse - einem Offset m tieferwertige Bits der Adresse Pagegrösse = m immer Zweierpotenz Offset vom Beginn der page - es gilt: N = k + m Pagetabelle - jeder Prozess hat eine eigene Pagetabelle - enthält für jede Pagenummer die entsprechende Framenummer - die Pagenummer ist dient als Referenz (Adresse) zum Lesen der Framenummer Anmerkungen - die letzte Page (Frame) ist nicht unbedingt "voll" interne Fragmentierung, Fragmentierung aber klein - Paging ist für Anwender transparent - Anzahl Bits der Frame Nummer Anzahl Bits der Page Nummer Daten zum Beispiel - logische Adresse 16 Bit - Pagenummer 6 Bit maximal 64 Pages - Offset 10 Bit page size = 1KB - Einträge in der Tabelle 64 17

18 Segmentation Anwenderprogramme mehrere Segmente Programm Daten Stack Segmente verschiedene Grösse zusammenhängender Adressraum können im Speicher an beliebigem Orte plaziert werden keine interne, aber externe Fragmentierung für Programmierer sichtbar 18 Segmentation - für Programmierer resp. Compiler sichtbar, im Gegensatz zu Paging - hilft Programme logisch zu organisieren - Programmierer muss Grenzen der Segmente kennen - vereinfacht die Handhabung von wachsenden Datenstrukturen - erlaubt Programme unabhängig zu verändern - unterstützt die Nutzung gemeinsamer Daten - unterstützt Schutz des Speichers - externe Fragmentierung geringer, weil Prozess aus mehreren kleinen Partitionen Das BS muss pro Prozess eine Segmenttabelle unterhalten - physikalische Startadresse des Segments - Länge des Segments (Schutz) 18

19 Paging vs. Segmentation Paging für Programmierer transparent kleine, interne Fragmentierung Adressübersetzung: Tabellen-Lookup Schutz auf Ebene von logischen Segmenten Segmentation für den Programmierer sichtbar externe Fragmentierung Adressübersetzung: Tabellen-Lookup und Addition Schutz von physikalischen Segmenten Kombination: Paging und Segmentation möglich Vorteile beider Verfahren nutzbar, z.b. ab Intel nur OS/ hat dieses Verfahren je genutzt 19 19

20 Virtual Memory Virtual Memory Tanenbaum Kap. 4 Stallings Kap. 7, 8 Glatz Kap

21 Inhalt Virtual Memory Problemstellung Kontrollstrukturen & Hardware - Funktionsweise - Adressübersetzung - (Segmentation) - Page Size MM Software - Page Replacement - Resident Set Management - Load Control - Implementationsaspekte - Zusammenfassung 1 1

22 Virtual Memory Bis jetzt gesamter Prozess muss im Speicher stehen Prozessgrösse wird durch pysikalischen Speicher bestimmt Speicher i.a. << als Adressbereich (Zukunft 64 Bit Adressraum) - ca. 16 GB in 16 EB 1) Adressraum (aktuell 48 Bit: 56 TB) ) Programmierer muss sich um Programmgrösse kümmern - früher sehr aufwendig Programme in so genannte Overlays aufteilen Betriebssystem lädt benötigte Overlays vom Disk Ist das sinnvoll bzw.notwendig? 1) Exa Byte: 60 B ) Tera Byte: 40 B Realität - beschränkter Hauptspeicher, kann oft nicht alle Prozesse gleichzeitig aufnehmen - Speicherbereiche für Interrupttabellen und Betriebssystem - Speicherbereiche sind nicht kontinuierlich, noch andere Prozesse im Speicher - Speicher wird billiger und grösser mehrere GB Hauptspeicher ist heute realistisch 64-Bit System sind im Kommen (z.z. 48 Bit phys. Speicheradressen möglich 64 GByte) Anmerkung - 64 = = = Exa Bytes

23 Virtual Memory h virtual memory physical memory Sicht Wunsch des des Programmierers virtuelle Adressen Prozess X Betriebssystem... 3 FFFFFFFF h Lösung Speichergrösse: Virtual Memory - logischer resp. virtueller Adressraum in Pages aufgeteilt - physikalischer Adressraum entsprechend in Frames aufgeteilt - nur aktuell benötigte Pages im Hauptspeicher - Rest der Pages als "image" auf dem Disk Konsequenzen - Programmierer sieht logischen (virtuellen) Adressraum beschränkt durch Adressbreite und Diskkapazität - auf dem Disk muss ein Image des Prozesses verwaltet werden - mehr Prozesse können im Speicher abgelegt werden - Prozesse können grösser als physikalischer Speicher sein - alle Speicherreferenzen müssen logische Adressen sein - effizient wenn Hardwareunterstützung für Adresseübersetzung Softwareunterstüzung für Ein- und Auslagern der Pages auf Sekundärspeicher 3

24 Virtual Memory Wie funktioniert VM? Prozessor referenziert virtuelle Adresse - referenzierte Page steht nicht im Speicher Page Fault - BS lädt Page, mit referenziertem Datum Wieso funktioniert VM? Virtual Memory basiert auf Lokalitätstprinzip Welche Pages stehen im Speicher? BS muss bei Page Fault intelligente Entscheidung treffen dauerndes Aus- und Einlagern von Pages führt zu Thrashing 4 Wie funktioniert VM? - Prozessor referenziert virtuelle Adresse entsprechende Page steht im Speicher keine weiteren Aktivitäten notwendig entsprechende Page steht nicht im Speicher Page Fault BS blockiert Prozess und lädt Block vom Disk dazwischen anderen Prozess ausführen Wieso funktioniert VM? - Virtual Memory basiert auf Lokalitätstprinzip - räumliche und zeitliche Lokalität Speicherzugriffe liegen nahe beieinander gleiche Instruktionen werden mehrmals ausgeführt Nur wenige Pages stehen im Speicher: welche? - BS muss bei Page Fault intelligente Entscheidung treffen entsprechende Page laden bei zuwenig phys. Speicher zuerst eine Page auslagern - falls ausgelagert Page gerade wieder gebraucht wird Page erneut laden führt zu Thrashing: Prozzessor ist hauptsächlich mit Swapping beschäftigt - Lösung BS versucht zu raten, welche Pages als Nächste gebraucht werden mehr dazu später 4

25 Virtual Memory: Adressübersetzung Page Table aufwendiger benötigt zusätzliche Einträge Virtuelle Adresse Page Number Offset Page Tabelleneintrag other control bits m p Frame Number p: present m: modified used protection (Zugriff) caching locking 5 Virtual Memory: Page Tabellen - Einträge in Page Tabelle aufwendiger: zusätzliche Bits notwendig m: modifiied Bit p: present Bit zusätzliche Bits page wurde modifiziert page steht im Hauptspeicher Zugriffsschutz - "read - write -execute" - z.b. Code = readonly, Stack: read/write, etc referenziert caching - auf page wurde zugegriffen - z.b. Page darf nicht "gecached" werden - lock in cache Adressübersetzung ähnlich wie bei einfachem Paging 5

26 Page Table Organisation Problem mit Page Tabellen Page Tabellen werden gross Beispiel adresses 3 Bit 64 Bit page size 4 KByte 4 KByte page table 0 Einträge 5 Einträge Mögliche Abhilfen Page Table im virtuellen Speicher Multilevel Organisation - page directory: hierarchische Organisation Hashed Page Table - Zugriff auf Tabelleneintrag über Hashwert Inverted Page Table - pro Page Frame ein Eintrag 6 Grundsätzliche Probleme - Page Tabellen werden sehr gross - ev. mehrere Speicherzugriffe notwendig langsam - Lösungen erfordern i.d.r. Hardwareunterstüzung 6

27 Multilevel Organisation virtual address P directory index P table index offset physical memory page directory 7 Beispiel: stufige Organisation - mehrere Page Directories (Verzeichnisse) und mehrere Page Tabellen - 1. Stufe wählt Verzeichnis -. Stufe wählt Page Tabelle - minimale Anzahl von Tabellen ein Page Directory und eine Page Tabelle Zahlenbeispiel für 3-Bit virtuelle Adresse - Page directory index: 8 Bit 8 = 56 - Page Table Index: 1 Bit 1 = 4k - Offset: 1 Bit 1 = 4k - Zeiger in Page Table und Page Directory: 4 Bytes - Gesucht wie viele Einträge kann das Page Directory haben? (56) wie viele Page Tables können unterhalten werden? (56) wie viele Einträge hat eine Page Tabelle? wie viele Bytes enthält ein Page? wie gross kann der physikalische Speicher sein? (4K) (4KB) (4GB) wie viele Bytes werden minimal für die Tabellen benötigt? = 56 * 4 Bytes + 1 * 4K * 4 Bytes = ~ 17 KByte wie viele Bytes werden maximal für die Tabellen benötigt? = 56 * 4 Bytes + 56 * 4K * 4 Bytes = ~ 4M 7

28 Hashed Page Table Page Nummer wird als Hash Wert verwendet geeignet für Invertierte Page Tabelle Adressräume > 3 Bit verschiedene Page Nummern gleicher Hash Wert virtual address page offset hash function hash table frame offset physical address 8 Page Nummer wird als Hash Wert verwendet - verschiedene Page Nummern erzeugen den gleichen Hash Wert - Hash Tabelle jeder Eintrag zeigt auf eine Liste mit den Einträgen jeder Listeneintrag enthält Page Nummer und entsprechende Frame Nummer bei Zugriff muss jeweils Page Nummer vergleichen werden (gleicher Hash Wert) Zusätzlicher Aufwand: Suchen in Hash Liste Geeignet für - Invertierte Page Tabelle (Konzept siehe unten) - bei grossen Adresseräumen (> 3 Bit) 8

29 Konzept: Invertierte Page Tabelle virtual address PID page Nr offset physical memory 0 PID p Nr physical address frame Nr offset one entry per frame PID p Nr entry j = frame number j N inverted page table 9 Invertierte Page Tabelle - pro Frame ein Eintrag - Nummer des Eintrags (j) = Frame Nummer - gleiche Page von verschiedenen Prozessen in verschiedenen Frames abgelegt Prozess ID muss in Tabelle gespeichert werden - Problem ganze Tabelle muss nach Page Nummer und PID abgesucht werden ineffizient, wenn vollständig in Software Bei PowerPC, UltraSPARC, ITHANIUM 9

30 TLB: Translation Lookaside Buffer Problem jede Speicherreferenz benötigt bis zu zwei Speicherzugriffe - Frame Nummer aus Page Tabelle - Zugriff auf Daten bei Hash Tabellen zusätzliche Zugriffe - gleicher Hash Wert für verschiedene Pages invertierte Page Tabellen - zusätzlicher Zugriff auf Prozess ID Abhilfe spezieller Hardware Cache für Page Tabellen enthält kürzlich verwendete Page Tabellen Einträge pro Prozess aufgesetzt TLB (Translation Lookaside Buffer) genannt 30 30

31 TLB: Ablauf Zugriff Page # Offset Main Memory Secondary Memory Translation Lookaside Buffer TLB hit Associative Mapping Page Load TLB miss Page Table Page Fault Frame # Offset 31 Bis zu 3 Schritte notwendig 1. Schritt: TLB absuchen - Eintrag gefunden mit Framenummer physikalische Adresse bestimmen fertig - Eintrag nicht gefunden Schritt. Schritt: Page Tabelle adressieren - Present Bit gesetzt Zugriff auf den entsprechenden Frame aufdatieren TLB fertig - Present Bit nicht gesetzt Schritt 3 3. Schritt: Page Fault - Page mit Tabelleneintrag nicht im Speicher - Page Fault und Kontrolle an BS (Software) um entsprechende Page zu laden - aufdatieren TLB - gehe zu Schritt 1 TLB ist ein Cache - Berechnung der Zugriffszeiten ähnlich wie bei Caches 31

32 TLB: Associatve Mapping TLB Realisierung mit Associative Mapping Page # Offset 5 50 Page # PT Entry TLB Frame # Offset. 3 Associative Mapping - Page Nummer wird am TLB angelegt - Zelle mit entsprechendem Page Nummer Eintrag meldet sich selbst - Hardwareunterstützung notwendig Hardwarevergleicher für jede Page Nummer schnell TLB gehört zur MMU - arbeitet zusammen mit Cache System 3

33 Paging und Segmentation Kombination von Paging und Segmentation benötigt Page Table und Segment Table aufwendig Aktuelle Betriebssysteme nur Paging Segmentation auf logischer Ebene, z.b. über Zugriffsrechte - code: readonly - stack: read/write (wünschenswert: no execute) - data: read/write (wünschenswert: no execute) Paging und Segmentation Intel: MMU ab i486 unterstützt wurde nur von OS/ (IBM) genutzt 33 Für Details siehe Literatur, z.b. Stallings, Tannenbaum, etc. 33

34 Page Size Genaue Angaben schwierig z.t. widersprüchliche Anforderungen Trend grosse Pages P: gesamte Prozessgrösse N: total benötigte Frames W: working set page fault rate page fault rate page size P W N page size PowerPC 4 KBytes UltraSPARC 8 KBytes bis 4 MBytes Pentium 4 KBytes oder 4 MBytes ITHANIUM 4 KBytes bis 56 MBytes AMD64 4 KBytes bis 64 KBytes IBM 370/XA, 370/ESA IBM AS/400 VAX DEC Alpha MIPS 4 KBytes 51 Bytes 51 Bytes 8 KBytes 4 KBytes 34 Pagegrösse: durch Hardware bestimmt Möglichst kleine Pages - wenig interne Fragmentierung - viele Pages Viele Pages - grosse Page Tabellen - Page Tabellen im Virtual Memory bis zu zwei Page Faults ein Fault um Teil der Page Tabelle zu laden ein Fault um Daten zu laden - viele kleine Pages ergeben kleine Page Fault Rate Auch grosse Pages reduzieren die Page Faul Rate - wenn Pages ~ so gross wie Prozess Anzahl zugewiesener Frames - beeinflusst Page Fault Rate auch - Zusammenspiel von Pagegrösse (Hardware) und Anzahl zugewiesener Frames (Software) Speichergrösse und Speicherbedarf von Applikationen haben ebenfalss Einfluss TLB - wächst nicht so schnell wie Hauptspeicher - interagiert zudem mit anderen Komponenten, wie Cache, etc. - verschiedene Pagegrössen helfen TLB effizient zu nutzen, aber die meisten BS nutzen nur eine Grösse: die Page Grösse beeinflusst viele Komponenten im BS Hinweis zu AMD64 4KB bis 64KB (alle er Potenzen) 34

35 Memory Managment Software Alle wichtigen BS unterstützen heute VM Ausnahmen - einige alte BS (z.b. DOS) - Echzeitbetriebssysteme... wieso nicht? - einige Embedded Systems VM benötigt Hard- und Softwareunterstützung Memory Managment Software mit VM steht nicht gesamter Prozess im Speicher 3 Fragestellungen - wann eine neue Page laden fetch policy? - wo die Page ablegen placement policy? - welche Page ersetzen replacement policy? 35 Fetch Policy - demand paging Page wird geladen wenn Datum in Page referenziert wird erzeugt beim Starten eines Prozesses eine hohe Page Fault Rate, klingt aber ab, wenn genügende Pages geladen sind - prepaging Page und zusätzliche Pages "in der Nähe" werden geladen unterstützt Verhalten von Sekundärspeicher (weniger Zugriffe, seek time) hat sich nicht etabliert: eher ineffizient Placement Policy - bei Paging kein Thema - symmetrisches Multiprozessing UMA (uniform memory access) Plazierung keine Bedeutung: Zugriffszeit immer gleich NUMA (non uniform memory access) Plazierung grosse Bedeutung, Zugriffszeit verschieden gross z.b. disitributed shared memory Architekturen Replacement Policy - welche Pages im Hauptspeicher sollen ersetzt werden? 35

36 Page Replacement 3 Fragestellungen welche Page ersetzen, wenn Speicher voll ist? welche Pages bzw. Frames kommen für Ersatz in Frage? - Pages des verursachenden Prozesses? - alle Frames im Hauptspeicher? wie viele Frames sollen einem Prozess zugewiesen werden? Wenn Speicher voll: welche Page ersetzen? 4 Algorithmen - optimal - least recently used - fifo - clock Bewertungskriterium: minimale Anzahl Page Faults 36 Betrachten im Folgenden vier grundsätzliche Replacement Policies - ähnliche Verfahren werden beim Caching eingesetzt - basieren auf der Idee des Lokalitätsprinzips wenn eine Page häufig referenziert wird, wird sie auch in Zukunft mit hoher Wahrscheinlichkeit referenziert - verschiedenste Modifikationen der Algorithmen existieren siehe Literatur 36

37 Replacement Policy: Optimal Ersetzt Page, die am spätesten referenziert wird nicht implementierbar Aber beweisbar, dass minimale Anzahl Page Faults gut für Vergleiche Beispiel mit 3 Frames Page Referenzen: Frames F F F

38 Replacement Policy: Least Recently Used Ersetzt die am längsten nicht referenziert Page Lokalitätstprinzip: wird wahrscheinlich nicht mehr referenziert fast so gut wie optimal Aber Implementation aufwendig - Time Stamp oder Usage Counter notwendig Beispiel F F F F 38 38

39 Replacement Policy: FIFO Pages Frames in zirkulärem Buffer angeordnet älteste Page wird ersetzt: Policy FIFO Problem: auch oft referenzierte Pages werden ausgelagert Aber Beispiel - Implementation sehr einfach - schlechte Resultate F F F F F F 39 39

40 Replacement Policy: clock Für Page 77 einen Frame suchen... n page 19 u = 1 page 1 u = page 45 u = 01 8 page u = 0 page 191 u = page 33 u = 1 page 67 u = 1 page 13 u = 0 page u = Anordnung der Page Frames in zirkulärem Buffer - jeder Frame besitzt ein Use Bit u wird beim Laden auf 1 gesetzt Zeiger wird auf nächsten Frame gesetzt wird beim Referenzieren auf 1 gesetzt Ersetzen einer Page - ausgehend von Zeigerposition ersten Frame mit Use Bbit = 0 suchen und ersetzen - angetroffene Frames mit u = 1 u auf 0 setzen - "schützt" häufig referenzierte Seiten vor Auslagerung Verhalten - Kombination LRU/LFU - ohne Use Bit: gleiches Verhalten wie FIFO Verwendung von Clock in modifizierter Form - z.b. Multics und Unix SVR4 (two handed clock) Verbesserte Variante - berücksichtigt auch modified - Algorithmus: siehe Stallings, Abschnitt 8. 40

41 Page Buffering Bis jetzt Frames durch neue Pages ersetzt Page Buffering: VAX Replacement Policy: FIFO nicht alle Frames stehen für den Gebrauch zur Verfügung BS unterhält zwei Listen: Free Page List und Modified Page List free page list modified page list modified page 41 Page Replacement mit Page Buffering - ersetzte Page geht nicht sofort verloren nicht modifizierte Page wird an die Free Page List gehängt modifizierte Page wird an die modified Page List gehängt - Page am Kopf der Free Page List wird ersetzt - Modified Page List Pages werden in Clustern auf den Disk geschrieben kommen dann in die Free Page List Mach verwendet ein leicht modifiziertes Page Buffering System - es wird aber nicht zwischen modifizierten und nicht modifizierten Pages unterschieden 41

42 Vergleich der Verfahren Vergleich der 4 Verfahren fixed page allocation, local page replacement J. Baer (1980) und R. Finkel (1988) - sozusagen identische Resultate für Verfahren mit verschiedenen Anordnungen (Daten) Page Faults / 1000 References FIFO CLOCK LRU OPT gewünschter Arbeitsbereich Allocated Frames 4 Der "Verbesserungsfaktor" nicht umwerfend ist - erzielte Effekte aber messbar - speziell bei grösserer Anzahl Frames ist eine Verbesserung bei LRU und OPTIMAL ersichtlich Anmerkungen - die vorgestellten Verfahren basieren auf dem Lokalitätstprinzip - moderne Technologien wie OO-Design und Multithreading reduzieren u.u. die Lokalität 4

43 Resident Set Managment Fragestellungen wie viele Frames einem Prozess zuweisen? aus welcher Menge neue Frames wählen? Resident Set Size / Replacement Scope Anzahl zugewiesener Frames / wo neuen Frame holen local replacement global replacement fixed allocation fixe Anzahl Frames pro Prozess zu ersetzende Pages gehören dem aktuellen Prozess nicht möglich (per Definition) variable allocation Anzahl zugewiesener Frames ändert von Zeit zu Zeit zu ersetzende Pages gehört dem aktuellen Prozess zu ersetzende Page wird unter allen zur Verfügung stehenden Frames ausgesucht 43 Virtual Memory - nicht alle Pages eines Prozesses müssen / können im Hauptspeicher stehen - bis jetzt beantwortet: welche Page aus einer vorgegebenen Menge ersetzen - neue Fragestellungen was ist die vorgegebene Menge (replacement scope)? local replacement nur zum Prozess gehörende Frames global replacement gesamthaft verfügbare Frames wie viele Frames einem Prozess zuweisen? fixed allocation feste Anzahl Frames zuweisen variable allocation Anzhal Frames ändert mit Zeit Variable Allocation / Global Scope Unix / Linux - einfach zu implementieren - oft globale Liste mit freien Frames schnelle Anforderung neuer Frames - Page Deamon: holt sich Frames von Prozessen, wenn keine freien Frames - Problemstellung welche Frames können welchem Prozess weggenommen werden? ev. ist Wahl des Prozesses nicht optimal Variable Allocation / Local Scope Windows - beim Start eine Menge von Frames aufgrund des Applikationstyps zugewiesen - löst Problem mit Global Scope - aber Grösse des Resident Set muss periodisch angepasst werden 43

44 Working Set Working Set: W(t, T) referenzierte Frames während Zeitfensters T W(t, T) konstant für gewisser Zeit Beispiel: W(t, T) für T = 4 Page Referenzen Working Set konstant 44 Prozess startet - Working Set des Prozesses wächst Lokalitätsprinzip - der Working Set stabilisiert sich für eine gewisse Prozess tritt in neuen Lokalitätsbereich ein - Working Set wächst bis Pages von zwei Lokalitätsbereichen - stabilisiert sich anschliessende im neuen Stabilitätsbereich Resident Set - die Anzahl aktuell zugewiesener Frames Working Set - die in letzter Zeit benutzten Frames 44

45 Working Set Strategy Working Set Strategy aus Working Set Resident Set bestimmen Vorgehen Bestimmen des Working Set periodisch Pages entfernen, die nicht mehr zum Working Set gehören Prozess nur ausführen, wenn sein Working Set im Speicher steht Problemstellungen aus Vergangenheit Zukunft nicht immer voraussagbar Bestimmen des Working Set unpraktisch optimaler Wert von T ist unbekannt Lösung Page Fault Frequency überwachen 45 45

46 Page Fault Frequency Resident Set aus Working Set bestimmen über Page Fault Rate Page Fault Frequency Page Fault Rate PF ok W N Number of Frames W: sinnvolle Page Fault Rate N: Prozess vollständig im Speicher 46 Beobachtung - die Page Fault Rate nimmt mit zunehmendem Working Set bzw. Resident Set (Anzahl Frames pro Prozess ab) Folgerung - die Grösse des Working Set kann über die Page Fault Rate bestimmt werden Realisierung - Messung der Anzahl Page Faults während Zeitintervall - Zeitintervall berechnet aus konsumierter CPU-Zeit eines Prozesses wird auch virtuelle CPU-Zeit genannt Implementation Page Fault Frequency (PFF) - verwenden des Use Bit - definieren einer Schranke T F für Zeitintervall - Page Fault wenn Zeitintervall seit letztem Page Fault < T F Page zum Working Set hinzufügen Anmerkung kurze Zeit hohe Page Fault Rate mehr Frames notwendig wenn Zeitintervall seit letztem Page Faul > T F alle Pages mit used bit = 0 aus Working Set entfernen - Problem schlechtes Verhalten während transienter Phase sehr viele Pages werden in den Working Set aufgenommen 46

47 Load Control Anzahl Prozesse im Speicher zu wenig Prozesse - schlechte CPU Auslastung wegen I/O zu viele Prozesse - Working Set zu klein thrashing Prozessor Auslastung 100% I/O bound thrashig optimal Anzahl Prozesse im Speicher 47 Zu wenige Prozesse im Speicher - Working Set genügend gross - Prozesse warten auf I/O Zu viele Prozess im Speicher - Working Set wird zu klein thrashing und CPU Auslastung sinkt drastisch Load Control - eine Working Set Strategie impliziert Load Control Prozess läuft nur, wenn minimaler Working Set im Speicher verfügbar durch Anpassen des notwendigen Working Sets, wird die Anzahl Prozesse im Speicher automatisch angepasst - oder z.b. modifizierter Clock Algorithmus Beobachtung des Zeigers Multiprogramming Level kann erhöht werden, wenn wenig Anfragen, den Zeiger vorwärts zu bewegen und wenn nur kleine Vorwärtsbewegung notwendig sind in beiden Fällen sind viele, nicht referenzierte Pages verfügbar 47

48 Load Control: process suspension Welche Prozesse sollen suspendiert werden, wenn zu viele Prozess im Speicher? Sechs Möglichkeiten Prozess mit tiefster Priorität Prozess mit (vielen) Page Faults der am längsten nicht aktivierte Prozess Prozess mit kleinstem Resident Set grösster Prozess Prozess mit dem längsten Verarbeitungsfenster 48 Prozess mit tiefster Priorität - implementiert eine Scheduling Policy Entscheidung (hat nichts mit Performance zu tun) Prozess mit (vielen) Page Faults - grosse Wahrscheinlichkeit, dass Working Set nicht resident ist Prozess blockiert wegen Page Fault Der am längsten nicht aktivierte Prozess - hat mit grosser Wahrscheinlichkeit den Working Set nicht vollständig im Speicher Prozess mit kleinstem Resident Set - erfordert am wenigsten Aufwand, den Prozesse aus- und wieder einzulagern Grösster Prozess - gibt am meisten Frames frei - mit grosser Wahrscheinlichkeit muss kein zusätzlicher Prozess ausgelagert werden Prozess mit dem längsten Verarbeitungsfenster - implementiert etwas, wie ein "SJP" Scheduling Policy 48

49 Implementationsaspekte I/O Page locking Prozess wartet auf Eingabedaten (System Call) - Page mit I/O-Buffer kann aus System ausgelagert werden z.b. wegen Replacement Strategie mit global scope - oder Prozess wird "swapped" Lösungen - Pages mit I/O Buffer in Speicher "locken" - I/O Buffer im Kernel verwalten und Daten später in den User Space kopieren Shared Memory ähnliche Probleme wie mit I/O Pages aber: mehrere Prozesse sind involviert 49 49

50 Implementationsaspekte Instruktionen Instruktion, die Page Fault erzeugt, muss wiederholt werden - Problem bei variabel langen Instruktionen Betriebssystem muss wissen, wo Instruktion beginnt ev. müssen zusätzlich Autoinkrement und -Dekrement rückgängig gemacht werden falls keine Hardwareunterstützung - zusätzlicher Overhead bei Page Replacement Paging Deamon Page Replacement kann effizient durch Hintergrundprozess (Deamon) ausgeführt werden z.b. periodisch oder während Lastpausen 50 50

51 Implementationsaspekte Betriebssystemaufgaben mit Paging Prozesserzeugung - aufsetzen und initialisieren der Page Table und Swap Area Prozessausführung resp. Prozessaktivierung - MMU rücksetzen und Inhalt des TLB entfernen - entsprechende Page Table aktivieren Page Fault - bestimmen welche Page geladen werden muss - Neustart der Instruktion Prozessterminierung - Page Table und Swap Area entfernen - Shared Pages beibehalten (Eintrag für Prozess entfernen) 51 51

52 Zusammenfassung Memory Management Algorithmen einfache Single-User Systeme bis Paged Segmentation verschiedenste Einflussfaktoren sind zu berücksichtigen grosser Einfluss auf Wahl eines Verfahrens durch Hardware - Pagegrösse - Organisation der Page Tabellen - Adressraum (3 vs. 64 Bit) - Schutzmechanismen Virtual Memory von den meisten modernen Betriebssystemen unterstützt meist nur logische Segmentierung (auch wenn HW vorhanden) Real-Time und Embedded Systems - kein resp. oft kein VM weil nicht deterministisches Verhalten 5 Memory Management Verfahren (für Details siehe Literatur Stallings, Tannebaum) - UNIX - LINUX global scope, modifiziertes Clock Verfahren ( Zeiger) global scope, modifiziertes Clock Verfahren (use bit = used byte) - Windows local scope für jeden Prozess ein Minimum und ein Maximum an Frames definiert wenn weniger als Minimum: Frame zugewiesen wenn mehr als Maximum: Frame weggenommen wenn Prozess hohe Page Fault Rate wird Maximum erhöht - UNIX / LINX / Windows unterhalten einen globalen Pool von freien Frames Page Deamon sucht bei knappem Speicher nach Pages, die nicht oder nur wenig benutzt werden Anmerkung zu Paging - Wahl eines Verfahrens reicht nicht - zu berücksichtigen sind weiter Bestimmen des Working Set Memory Allocation Policy Page Size (Einfluss der Hardware) 5

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

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

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

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

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

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

Technische Realisierung (1)

Technische Realisierung (1) Technische Realisierung () Einfachstes Modell: Prozess (Daten+Code) befindet sich im Hintergrundspeicher Bei teilweise eingelagerten Prozessen: Zusätzlich Teile im Hauptspeicher Logische Adressen überdecken

Mehr

Betriebssysteme BS-S SS Hans-Georg Eßer. Foliensatz S: Speicherverwaltung. Dipl.-Math., Dipl.-Inform. v1.0, 2015/04/14

Betriebssysteme BS-S SS Hans-Georg Eßer. Foliensatz S: Speicherverwaltung. Dipl.-Math., Dipl.-Inform. v1.0, 2015/04/14 BS-S Betriebssysteme SS 2015 Hans-Georg Eßer Dipl.-Math., Dipl.-Inform. Foliensatz S: Speicherverwaltung v1.0, 2015/04/14 Betriebssysteme, SS 2015 Hans-Georg Eßer Folie S-1 Übersicht: BS Praxis und BS

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

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

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

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

Übung Praktische Informatik II

Übung Praktische Informatik II Übung Praktische Informatik II FSS 2009 Benjamin Guthier Lehrstuhl für Praktische Informatik IV Universität Mannheim guthier@pi4.informatik.uni-mannheim.de 22.05.09 11-1 Heutige große Übung Ankündigung

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

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

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

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

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

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

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

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

Speicherverwaltung. Design Digitaler Systeme. Prof. Dr.-Ing. Rainer Bermbach

Speicherverwaltung. Design Digitaler Systeme. Prof. Dr.-Ing. Rainer Bermbach Speicherverwaltung Design Digitaler Systeme Prof. Dr.-Ing. Rainer Bermbach Übersicht Speicherverwaltung Virtueller Speicher Memory Management Unit Segmentierung Paging Kombination Segmentierung/ Paging

Mehr

é 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

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

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

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

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

Cache Grundlagen. Schreibender Cache Zugriff. SS 2012 Grundlagen der Rechnerarchitektur Speicher 22

Cache Grundlagen. Schreibender Cache Zugriff. SS 2012 Grundlagen der Rechnerarchitektur Speicher 22 Cache Grundlagen Schreibender Cache Zugriff SS 212 Grundlagen der Rechnerarchitektur Speicher 22 Eine einfache Strategie Schreibt man nur in den Cache, werden Cache und darunter liegender Speicher inkonsistent.

Mehr

(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

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

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

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

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

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

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

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

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

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

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

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

Grob-Struktur des Prozessor-Speichersystems

Grob-Struktur des Prozessor-Speichersystems 2.3.2 Speicherstruktur (1) Grob-Struktur des Prozessor-Speichersystems Chipsatz (Erklärung s. später, Folie 104) 22.4.-27.5.2013, Folie 52 2.3.2 Speicherstruktur (2) Zugriff Prozessor zumeist auf schnelle

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

Freispeicherverwaltung

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

Mehr

Betriebssysteme Kap J, Teil C: Paging, Pagereplacement

Betriebssysteme Kap J, Teil C: Paging, Pagereplacement Betriebssysteme Kap J, Teil C: Paging, Pagereplacement 1 Welche Seite soll ausgelagert werden? Ein- / Auslagern benötigt Zeit Kontextwechsel erforderlich» Wechsel zu einem BS-Prozess, welcher für das Management

Mehr

Grundlagen der Rechnerarchitektur. Speicher

Grundlagen der Rechnerarchitektur. Speicher Grundlagen der Rechnerarchitektur Speicher Übersicht Speicherhierarchie Cache Grundlagen Verbessern der Cache Performance Virtueller Speicher SS 2012 Grundlagen der Rechnerarchitektur Speicher 2 Speicherhierarchie

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

5. Aufgabenblatt Speicherverwaltung

5. Aufgabenblatt Speicherverwaltung Faculty of Computer Science Institute for System Architecture, Operating Systems Group Betriebssysteme und Sicherheit, WS 0/. Aufgabenblatt Speicherverwaltung Geplante Bearbeitungszeit: drei Wochen Aufgabe.

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

Naiver Ansatz. Blöcke und Seiten. Betriebssysteme I Sommersemester 2009 Kapitel 6: Speicherverwaltung und Dateisysteme

Naiver Ansatz. Blöcke und Seiten. Betriebssysteme I Sommersemester 2009 Kapitel 6: Speicherverwaltung und Dateisysteme Betriebssysteme I Sommersemester 2009 Kapitel 6: Speicherverwaltung und Dateisysteme Hans-Georg Eßer Hochschule München Teil 3: Zusammenhängende Speicherzuordnung 06/2009 Hans-Georg Eßer Hochschule München

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

Cache-Speicher. Design Digitaler Systeme. Prof. Dr.-Ing. Rainer Bermbach

Cache-Speicher. Design Digitaler Systeme. Prof. Dr.-Ing. Rainer Bermbach Cache-Speicher Design Digitaler Systeme Prof. Dr.-Ing. Rainer Bermbach Übersicht Cache-Speicher Warum Cache-Speicher? Cache-Strukturen Aufbau und Organisation von Caches Cache-Architekturen Cache-Strategien

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

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

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

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

Virtueller Speicher WS 2011/2012. M. Esponda-Argüero Virtueller Speicher WS / Virtuelle Speicher Bis jetzt sind wir davon ausgegangen, dass Prozesse komplett im Hauptspeicher gelagert werden. Speicherreferenzen sind nur logische Adressen, die dynamisch in

Mehr

3 Schnittstelle zum Betriebssystem 3.1 Einleitung

3 Schnittstelle zum Betriebssystem 3.1 Einleitung 3.1 Einleitung 1 Anbindung zum Betriebssystem (BS) Aufgaben BS Schnittstelle zur Hardware Sicherstellung des Betriebs mit Peripherie Dienste erfüllen für Benutzung Rechner Dateiverwaltung (Kopieren, Verwalten,.)

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

Speicherverwaltung. Kapitel VI. Adressbindung (2) Adressbindung (1) Speicherverwaltung

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

Mehr

Abbilden von virtuellen auf physikalische Adressen

Abbilden von virtuellen auf physikalische Adressen Abbilden von virtuellen auf physikalische Adressen Virtuelle Adresse 31 30 29 28 27... 15 14 13 12 11 10 9 8... 3 2 1 0 Virtuelle Seitennummer Seiten Offset Translation Physikalische Adresse 29 28 27...

Mehr

5 Kernaufgaben eines Betriebssystems (BS)

5 Kernaufgaben eines Betriebssystems (BS) 5 Kernaufgaben eines Betriebssystems (BS) Betriebssystem ist eine Menge von Programmen, die die Abarbeitung anderer Programme auf einem Rechner steuern und überwachen, insbesondere verwaltet es die Hardware-Ressourcen

Mehr

Betriebssysteme. Dipl.-Ing.(FH) Volker Schepper

Betriebssysteme. Dipl.-Ing.(FH) Volker Schepper Speicherverwaltung Real Mode Nach jedem starten eines PC befindet sich jeder x86 (8086, 80386, Pentium, AMD) CPU im sogenannten Real Mode. Datenregister (16Bit) Adressregister (20Bit) Dadurch lassen sich

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

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

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

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

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

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

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

Ü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

Assignment #2. Virtueller Speicher Virtual Memory WS 2012/2013 IAIK 1

Assignment #2. Virtueller Speicher Virtual Memory WS 2012/2013 IAIK 1 Assignment #2 Virtueller Speicher Virtual Memory WS 2012/2013 IAIK 1 Organisatorisches:Termine Ab Montag Tutorien 10.12.-14.12. Designdiskussionen 18.12. Abgabe Designdokument 18.1. Abgabe Implementierung

Mehr

virtueller Speicher - Trennung des logischen Speichers der Anwendung vom physikalischen Speicher.

virtueller Speicher - Trennung des logischen Speichers der Anwendung vom physikalischen Speicher. Kapitel 9 virtueller Speicher Seite 1 Kapitel 9: virtueller Speicher - Seiten-Swap Hintergrund virtueller Speicher - Trennung des logischen Speichers der Anwendung vom physikalischen Speicher. - Der Adressraum

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

(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

Kapitel VI. Speicherverwaltung. Vorlesung Betriebssysteme

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

Mehr

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

Basisinformationstechnologie I Wintersemester 2011/ November 2011 Betriebssysteme

Basisinformationstechnologie I Wintersemester 2011/ November 2011 Betriebssysteme Basisinformationstechnologie I Wintersemester 2011/12 23. November 2011 Betriebssysteme Seminarverlauf 12. Oktober: Organisatorisches / Grundlagen I 19. Oktober: Grundlagen II 26. Oktober: Grundlagen III

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 16.1.217 1 Inhalt Vorlesung Aufbau einfacher Rechner Überblick: Aufgabe, historische Entwicklung, unterschiedliche Arten von Betriebssystemen

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

Kapitel 12: Adressraumverwaltung

Kapitel 12: Adressraumverwaltung Kapitel 12: Adressraumverwaltung Motivation Basisbegriffe Abbildung Logischer Adressraum -> Hauptspeicher Adressraumverwaltungen o Einprogrammbetrieb o Mehrprogrammbetrieb o Adressräume größer als der

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

Übung zu Grundlagen der Betriebssysteme. 14. Übung

Übung zu Grundlagen der Betriebssysteme. 14. Übung Übung zu Grundlagen der Betriebssysteme 14. Übung 29.01.2012 Aufgabe 1 Demand Paging a) Was wird unter dem Begriff Demand Paging verstanden? b) Was sind Vor- und Nachteile des Demand Paging? Bei Demand

Mehr

6. Juni VO Prüfung Betriebssysteme. Ges.)(100) 1.)(35) 2.)(20) 3.)(45) Bitte verwenden Sie nur dokumentenechtes Schreibmaterial!

6. Juni VO Prüfung Betriebssysteme. Ges.)(100) 1.)(35) 2.)(20) 3.)(45) Bitte verwenden Sie nur dokumentenechtes Schreibmaterial! VO 8. Prüfung Betriebssysteme. Juni KNr. MNr. Zuname, Vorname Ges.)().)().)().)() Zusatzblätter: Bitte verwenden Sie nur dokumentenechtes Schreibmaterial! Synchronisation mit Semaphoren () Eine Parkgarage

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

Analyse aktueller Cache-Architekturen hinsichtlich Struktur und Effizienz. Markus Krause

Analyse aktueller Cache-Architekturen hinsichtlich Struktur und Effizienz. Markus Krause Analyse aktueller Cache-Architekturen hinsichtlich Struktur und Effizienz Markus Krause Dresden, Gliederung 1. Einführung 2. Problemstellung 3. Lösungen a) Miss Rate b) Miss Penalty c) Hit Time 4. Zusammenfassung

Mehr

Vorlesung Betriebssysteme

Vorlesung Betriebssysteme Kapitel VI Speicherverwaltung Vorlesung Betriebssyst 1 Speicherverwaltung Computer exekutiert Programme (mit Daten) im Hauptspeicher. Hauptspeicher: Großes Array von Wörtern (1 oder mehrere Bytes) Jedes

Mehr

Prof. Dr. Sharam Gharaei. Inhaltsverzeichnis. 1 Einleitung 1. 2 Grundlage der Realisierung 2. 3 Die Realisierung 3. Literaturverzeichnis 7

Prof. Dr. Sharam Gharaei. Inhaltsverzeichnis. 1 Einleitung 1. 2 Grundlage der Realisierung 2. 3 Die Realisierung 3. Literaturverzeichnis 7 Prof. Dr. Sharam Gharaei Version 1.2.0, 07.04.2017 Inhaltsverzeichnis 1 Einleitung 1 1.1 Code-bezogene Aspekte 2 1.2 Speicherungsbezogene Aspekte 2 2 Grundlage der Realisierung 2 3 Die Realisierung 3 3.1

Mehr

Übung zu Einführung in die Informatik # 10

Übung zu Einführung in die Informatik # 10 Übung zu Einführung in die Informatik # 10 Tobias Schill tschill@techfak.uni-bielefeld.de 15. Januar 2016 Aktualisiert am 15. Januar 2016 um 9:58 Erstklausur: Mi, 24.02.2016 von 10-12Uhr Aufgabe 1* a),

Mehr