Vorlesung Betriebssysteme II

Größe: px
Ab Seite anzeigen:

Download "Vorlesung Betriebssysteme II"

Transkript

1 1 / 49 Vorlesung Betriebssysteme II Thema 4: Hauptspeicherverwaltung Robert Baumgartl 27. April 2015

2 2 / 49 Freispeicherverwaltung Motivation Applikationen und das Betriebssystem selbst fordern zur Laufzeit Speicher an (und geben diesen später wieder zurück). Notwendigkeit der Verwaltung notwendig, zur Laufzeit Speicher an Anfordernde (Applikationen, BS) auszureichen und wieder entgegenzunehmen Schnittstelle: Menge an Funktionen, die Speicher anfordern und diesen wieder zurückgeben

3 Freispeicherverwaltung Probleme 3 / 49 Fragmentierung: intern Verlust durch feste Segmentgröße ( Verschnitt ) extern Verlust durch inkohärente Speicherung ( Verstreuung ) Kompensation durch Kompaktifizierung Table Verlust durch Speicherbedarf der Verwaltungsstrukturen Laufzeitkomplexität der Suche nach freiem Segment der Rückgabe des Segments (Wiedereinordnung) Zwei grundlegende Management-Techniken: 1. Bitmaps 2. Listen

4 Bitmaps 4 / 49 Anforderung wird auf einen oder mehrere Blöcke einer fixen Größe abgebildet Karte des Hauptspeichers Blöcke (allocation units) einheitlicher Größe pro Block ein Bit: = 0 Block frei = 1 Block belegt belegt frei belegt belegt frei belegt belegt A B C D E frei n Allokations einheit Bitmap

5 5 / 49 Bitmaps Blockungsfaktor Parameter: Blockungsfaktor n, beeinflusst: Speicherbedarf für die Bitmap interne Fragmentierung Gefahr der externen Fragmentierung fixe Größe der Verwaltungsstruktur keine weiteren Verwaltungsinformationen in Bitmap speicherbar

6 Freispeicherliste 6 / 49 Idee: Suche nach einem passenden freien Segment ggf. Abtrennen des nicht benötigten Restes d.h., es werden stets exakt passende Segmente ausgegeben ( keine interne Fragmentierung) pro Segment ein Element einer verkettete Liste (einfach, doppelt, Ring), enthält: Anfangsaddresse Länge belegt/frei-information Zeiger auf Nachfolge-Element weitere Informationen, z. B. Eigentümer Start A B 8 6 C D 20 6 E

7 Blöcke mit integrierten Headern 7 / 49 Variante: Header ist in Blöcke integriert (belegt/frei-bit, Länge, evntl. Zeiger auf NF) Header 0 Länge Länge Länge Länge Länge...

8 8 / 49 Freispeicherliste Suchstrategien Suchoperation bei Forderung eines Segmentes der Größe m: First Fit Durchsuchen der Liste beginnend von Start erstes freies Segment m wird genutzt ggf. Abtrennen des Überschusses (Teilung des Segments; 1 freies 1 belegtes + 1 freies) Tendenz: anfangs belegte Segmente, später mehr freie Segmente Next Fit Start der Suche an letzer Erfolgsposition sonst wie First Fit Tendenz zu größerer Fragmentierung als First Fit

9 9 / 49 Freispeicherliste Suchstrategien II Best Fit Suche in Liste nach bestpassendstem Element (kleinstes Element, dessen Größe l m) Suchaufwand! Gefahr der Generierung unbenutzbar kleiner Restsegmente Worst Fit Suche nach größtmöglichem Element, um Nachteil von Best Fit zu begegnen externe Fragmentierung! Bei Freigabe eines Blockes: Markierung als frei Vereinigung mit freien Nachbarblöcken, wenn möglich

10 10 / 49 Freispeicherliste Techniken zur Effizienzsteigerung Verzögertes Vereinigen (Deferred Coalescing): freigegebene Segmente nicht sofort mit freien Nachbarsegmenten vereinigen Effizienzsteigerung wenn Objekte einer Größe angefordert und freigegeben werden Vereinigung erst nach Verzögerung oder durch extra Aktivität Objektcache (Slab Allocator) Begrenzungsmarken (Boundary Tags) Endebegrenzung jedes Segmentes durch zum Header identischen Footer vereinfacht Vereinigung mit unmittelbar vorangehendem (freien) Nachbarblock Problem: Table Fragmentation

11 11 / 49 Freispeicherliste Techniken zur Effizienzsteigerung II Zusätzliche Verkettung freier Segmente schnellere Suche kein zusätzlicher Speicherplatz nötig, da nur im ungenutzten Speicher angelegt H F H F H F H F H F... Abbildung: Zusätzliche Verkettung freier Segmente

12 12 / 49 Getrennte Freispeicherlisten (Segregated Fits) Idee: Array von Listen unterschiedlicher Segmentgröße(nklassen), um Suchaufwand zu reduzieren Variante 1: Einfacher getrennter Speicher (Simple Segregated Storage) eine Liste pro Segmentgröße keine Teilung von Segmenten Liste leer 1-2 Seiten mittels sbrk() anfordern, in gleichgroße Blöcke teilen, in Liste einordnen kein Transfer zwischen Listen ( keine Vereinigung mit benachbarten Segmenten) ziemlich effizient im durchschnittlichen Fall Worst Case?

13 Getrennte Freispeicherlisten (Segregated Fits) 13 / 49 Variante 2: Getrennte Fits Liste leer Liste mit nächster Größe durchsucht, Teilung eines gefundenen Segments a) exakte Listen b) Strikte Größenklassen mit Rundung c) Listen mit Größenintervallen ggf. Wiederholung der Suche in Listen mit größeren Segmenten Vereinigung benachbarter freier Segmente (sofort oder verzögert)

14 14 / 49 Buddy-Verfahren Idee: System reicht Blöcke fester Größe k = 2 N Bytes aus N Listen mit (exakter) Segmentgröße ausgereicht wird stets ein Block mit der Größe, die die Anforderung am knappsten befriedigt (z. B. Anforderung 47 KiB Auslieferung 64 KiB) wenn kein Block passender Größe vorhanden: 1. Teilung eines nächstgrößeren (freien) Blockes 2. Auslieferung einer Hälfte 3. andere Hälfte (der Buddy ) wird als frei in die entsprechende Liste einsortiert Initial enthält eine Liste genau einen Block, den gesamten (freien) Hauptspeicher Bei Rückgabe wird geprüft, ob der Block ggf. mit seinem Buddy vereinigt werden kann (und in der Liste der nächstgrößeren Blöcke eingeordnet werden kann)

15 15 / 49 Buddy-Verfahren Beurteilung Aufwand bei Rückgabe des Speichers geringer als mit Freispeicherliste wirkt externer Fragmentierung entgegen, da stets maximal wieder vereinigt wird Hauptnachteil: Speicherplatzverschwendung (Verschnitt; interne Fragmentierung)

16 16 / 49 Virtueller Speicher Motivation Ziel: Schutz der Aktivitäten voreinander die Größe des Hauptspeichers übersteigende Prozesssysteme Konzept: Erweiterung des Hauptspeichers durch Massenspeicher Privatisierung der Adressräume Partitionierung der virtuellen und des physischen Adressraums (einheitliche, feste Größe; z. B. 4 KiB)

17 17 / 49 Virtueller Speicher Seiten vs. Kacheln virtueller Adressraum logische Seiten (virtuelle Seiten, Pages) physischer Adressraum (gleichgroße) Kacheln (Seitenrahmen, Page Frames)

18 18 / 49 Virtueller Speicher Seiten vs. Kacheln Seiten virtueller Speicher Prozeß 1 A B MMU+OS C D Prozeß 2 P Q R physischer Hauptspeicher P A B C frei Kacheln Q R frei D Abbildung: Abbildung logischer Seiten auf physische Kacheln

19 Gestreute Speicherung Umsetzung virtueller in physische Adresse 19 / 49 bei jeder (!) Speicherreferenz ausgeführt durch Hardware (Memory Management Unit MMU im Prozessor) Indexierung einer Tabelle (Seitentabelle, Page Table) Seitentabelle durch BS verwaltet, existiert pro Prozess Seitennummer virtuelle Adresse Index 0x0000 0x1000 Hauptspeicher Seitenadressen Prot P 0x8000 0x1000 RW RO 1 0 0x3000 RWX x4000 RO 1 Seitentabelle + 0x2000 physische Adresse 0x selektiertes Wort

20 Seitentabelleneintrag (Page Table Entry PTE) Aufbau (Beispiel) 20 / 49 C D R M Prot P Page Frame Number PFN Page Frame Number Adresse der entsprechenden physischen Kachel P Present-Bit Seite ist im Hauptspeicher (oder auf Massenspeicher ausgelagert) Prot Protection Lese-/Schreib-/Ausführungs-Operation sind (nicht) erlaubt M Modified ( dirty ) Kachel wurde beschrieben ( muss vor Auslagerung auf Massenspeicher zurückgeschrieben werden) R Referenced Seite wurde durch den Prozess (irgendwann einmal) gelesen, referenziert CD Cache disable Seiteninhalt darf nicht gecacht werden (wichtig bei memory-mapped devices)

21 21 / 49 Größe der einstufigen Seitentabelle Problem: Größe der Seitentabelle (muß hintereinander im Speicher stehen) Beispiel Seitengröße 4 KiB, 32 Bit Adressbreite Index 12 Bit (2 12 = 4096) Seitennummer 20 Bit groß (32-12=20) Seitentabelle kann 2 20 Einträge enthalten resultierende Größe der Seitentabelle 4 MByte (pro Prozess!)

22 22 / 49 Größe der Seitentabelle Lösung: Baum von Seitentabellen ( Hierarchie) langsamerer Zugriff, da mehrere Subtabellen aufgesucht werden müssen Subtabellen dafür kürzer und flexibler (auf Anforderung anlegbar) zwei- (Intel i386), drei- und vierstufige Hierarchien Verbesserung des Timings durch einen Cache, der Adressumsetzungen virtuell physisch aufbewahrt: Translation Lookaside Buffer (TLB)

23 Beispiel: Zweistufige Seitentabelle (i386) 23 / 49 PD Index PT Index Byte Index virtuelle Adresse Register CR3 gewähltes Byte gewählte Seite PD Eintrag PTE Page Directory 1024 Einträge Page Tables 1024 Einträge physischer Adreßraum

24 Demand Paging 24 / 49 Idee: Benötigte Seiten werden erst bei Bedarf in den Hauptspeicher geladen. Ist der physische Speicher restlos ausgenutzt, so muss zuvor eine andere Seite ausgelagert werden. Prinzipieller Ablauf 1. Prozess referenziert eine Adresse (neuer Befehl, Zugriff auf Datum) 2. MMU führt Adressübersetzung aus 3. BS prüft: referenzierte Seite im physischen Speicher Ausführung der Instruktion, Weiterarbeit referenzierte Seite momentan ausgelagert Seitenfehler (Page Fault, Software-Interrupt)

25 25 / 49 Seitenfehler (Pagefault) 1. Prozess wird angehalten (blockiert) 2. BS sucht freie HS-Kachel 3. falls keine freie HS-Kachel verfügbar Auswahl einer auszulagernden Seite, Auslagerung auf Festplatte 4. Einlesen der referenzierten Seite in (nun) freie HS-Kachel von Festplatte 5. Weiterarbeit des blockierten Prozesses Pro Seitenfehler bis zu 2 Festplattenzugriffe notwendig! Einfachere Alternative: Swapping: ganze Prozesse werden ausgelagert!

26 26 / 49 Einlagerungsstrategien Demand Paging: Einblenden einer Seite bei Referenz (spätestmöglicher Zeitpunkt, Lazy Evaluation) Prepaging: Seiten werden im voraus eingeblendet. Sinnvoll bei kontinuierlicher Ablage auf Massenspeicher; angewandt z.b. bei Start eines neuen Prozesses (Windows NT).

27 Seitenaustauschverfahren 27 / 49 Frage: Welche Seite soll ausgelagert werden? Ähnlichkeit zur Ersetzungsstrategie in Caches Strafe (Penalty) sehr hoch, da Massenspeicherzugriff: 1 Instruktion benötigt ca. 0.3 ns bei 3 GHz Takt 1 Festplattenoperation benötigt ca. 10 ms Zeit für Instruktionen Worst Case?

28 28 / 49 Seitenaustauschverfahren Optimales Verfahren; LRU Optimales Verfahren lagert diejenige Seite aus, die am längsten nicht benötigt wird (in Zukunft) schwierig ohne eingebauten Hellseher wichtig zum Vergleich realer Verfahren Least Recently Used (LRU) Heuristik: Seiten die lange nicht referenziert wurden, werden auch in Zukunft kaum gebraucht exaktes LRU schwierig ( älteste Seite auslagern ) vgl. Cache Approximation: NRU

29 29 / 49 Seitenaustauschverfahren Not Recently Used (NRU) Not Recently Used (NRU) Ausnutzung des Referenced- und des Modified-Bits im Seitentabelleneintrag periodisches Rücksetzen des R-Bits durch BS (z.b. durch Timerinterrupt gesteuert) R-Bit wird automatisch (durch MMU) gesetzt, sobald Seite referenziert wurde M-Bit gesetzt, wenn Seiteninhalt modifiziert wurde ( dirty ) vor Auslagerung zurückschreiben

30 Seitenaustauschverfahren Not Recently Used (NRU), contd. 4 Klassen von Seiten unterscheidbar: R M Beschreibung 0 0 Seite wurde nicht referenziert 0 1 Seite wurde lange nicht referenziert, aber (irgendwann) verändert 1 0 Seite wurde referenziert, aber nicht modifiziert 1 1 Seite wurde referenziert und geändert bei Bedarf zunächst Auslagerung von {00}-Seiten wenn keine verfügbar, dann {01}-Seiten, dann {10}-Seiten, usw. 30 / 49

31 Seitenaustauschverfahren FIFO; 2nd Chance 31 / 49 First In, First Out (FIFO) Idee: ältere Seiten zuerst auslagern keine Berücksichtigung der Referenz Second Chance verbessert FIFO Auslagerungskandidat (AK): älteste Seite R == 0 Seite wird ausgelagert R == 1 R := 0, Kandidat: nächstälteste Seite Anordnung der Seiten in Ringliste, Zeiger auf AK Uhralgorithmus

32 Seitenaustauschverfahren NFU; Aging 32 / 49 Not Frequently Used (NFU) Betrachtung der Referenzierungshäufigkeit pro Seite ein Zähler, periodisches Aufaddieren des R-Bits Auslagerung der am seltensten genutzten Seite (kleinster Zählerstand) später eingelagerte Seiten benachteiligt benötigt: Vergessen veralteter Zählerstände Aging Modifikation von NFU: alle Zähler vor Aufaddieren des R-Bits 1 Bit nach rechts geschoben R-Bit wird an höchste Bitposition des Zählers geschrieben

33 Seitenaustauschverfahren Aging, contd. Tick R Bits Abbildung: Beispiel für den Aging-Algorithmus Shift-Operation realisiert Vergessen alter Zählerstände Häufigkeit und Zeitpunkt der Referenzierung relevant 33 / 49

34 34 / 49 Konzept der Arbeitsmenge (Working Set) Empirische Beobachtung: eine bestimmte Anzahl eingeblendeter Seiten ist optimal. Anzahl zu gering hohe Seitenfehlerrate, Anzahl zu groß Speicherverschwendung, möglicherweise kein Prozess mehr bereit. Prinzip: Die Arbeitsmenge W (t, ) sind diejenigen Seiten eines Prozesses, die zwischen dem aktuellen Zeitpunkt t und einem Zeitpunkt t in der Vergangenheit referenziert wurden.

35 Beispiel für eine Arbeitsmenge Referenz- kette , 15 24,15 24,15 24, , 18 24,15,18 24,15,18 24,15, , 23 15,18,23 24,15,18,23 24,15,18, , 24 18,23, , 17 23, 24, 17 18, 23, 24, 17 15, 18, 23, 24, , 18 24, 17, 18 23, 24, 17, , 24 17, 18, , 18 17, 24, , 17 24, 18, , , 15 17, 15 18, 17, 15 24, 18, 17, , 24 17, 15, 24 17, 15, , 17 17, 15, , , 18 17, 24, 18 17, 24, 18 15, 17, 24, 18 Tabelle: Beispiel der Entwicklung der Arbeitsmenge eines Prozesses für unterschiedliche (Bach: The Design of the UNIX Operating System. 1986, S. 287) 35 / 49

36 Konzept der Arbeitsmenge (Working Set) 36 / 49 Es gilt W (t, + 1) W (t, ) d.h., die Arbeitsmenge wächst monoton mit. Weiterhin gilt für die Menge der referenzierten Seiten 1 W (t, ) min(, N) wobei N die Gesamtzahl der referenzierten Seiten eines Prozesses bezeichnet. Der Parameter kann als Fenstergröße in die Referenzierungsvergangenheit des Prozesses aufgefasst werden.

37 Abhängigkeit der Größe der Arbeitsmenge von 37 / 49 W (t, ) 0

38 38 / 49 Abhängigkeit der Größe der Arbeitsmenge von gesättigtes Verhalten: ab einem bestimmten Punkt ( 0 ) ändert sich die Größe der Arbeitsmenge nicht mehr gravierend (Ursache: Lokalitätsprinzip) minimale Größe der Arbeitsmenge W (t, 0 ), bestimmt die Grenze zwischen niedriger und hoher Pagefault-Rate Working Set unterliegt zyklischen Veränderungen; man unterscheidet transiente und stabile Zustände

39 Idee für eine Ersetzungsstrategie... basierend auf dem Working Set 39 / 49 W für jeden Prozess beobachten zyklisch alle diejenigen Seiten eines Prozesses entfernen, die nicht zu W gehören Prozess darf nur aktiviert werden, wenn seine Arbeitsmenge im Hauptspeicher eingeblendet Probleme: exakte Messung, Logging des WS aufwendig Approximation Wahl von : zu klein PF-Rate des Prozesses steigt zu groß Speicherverschwendung keine Adaption bei Größenänderung der Arbeitsmenge

40 Beladys Anomalie Vergrößerung von W führt normalerweise zu Verringerung der Page-Fault-Rate des betroffenen Prozesses, jedoch... 5 virtuelle Seiten Ersetzungsstrategie FIFO (willkürliche ) Referenzierungskette: Ref. Kette jüngste Seite älteste Seite PF Abbildung: Beladys Beispiel mit W = 3 Seitenrahmen 40 / 49

41 Beladys Anomalie, contd. 41 / 49 Ref. Kette jüngste Seite älteste Seite PF Abbildung: Beladys Beispiel mit W = 4 Seitenrahmen Vergrößerung des WS führt zu Erhöhung der PF-Rate (W = 3 9PF, W = 4 10PF) unerwartetes Verhalten, Anomalie konstruiertes Beispiel abhängig vom Seitenersetzungsverfahren; LRU unempfindlich

42 42 / 49 Weitere Aspekte zur Seitenersetzung optimale Seitengröße? lokale vs. globale Ersetzungsstrategien variable vs. konstante Größe des Working Set viele weitere Ersetzungsstrategien alternative Mechanismen der Suche in Seitentabellen

43 Schnittstelle zum Betriebssystem UNIX malloc() und free() Semantik: Anforderung von Heap-Speicher, bzw. dessen Rückgabe Funktionen der C-Bibliothek ( portabel) eine der Hauptquellen für Programmfehler ist fehlerhafter Umgang mit diesen Funktionen weitere Funktionen: realloc(), calloc() unter UNIX gewöhnlich mittels brk() realisiert (jedoch auch mit mmap()) Implementierung stark systemabhängig viele Allokatoren vergrößern Heap zwar, verkleinern jedoch nicht (Optimierung) Seiten werden bei malloc() weder initialisiert noch zwangsweise eingeblendet bekannteste Implementation: Doug Lea s Allocator 43 / 49

44 Speicherabbild eines Prozesses 44 / 49 High Umgebung, Argumente Stack Heap uninitialisierte Daten (BSS) "break" null initialisiert Low initialisierte Daten Text aus Datei eingelesen durch exec()

45 Der Systemruf brk() 45 / 49 int brk(void *end_data_segment); setzt das Ende des Heaps auf end_data_segment, vorausgesetzt Wert ist plausibel, das System hat noch genügend Speicher, maximale Heapgröße des Prozesses wird nicht überschritten genutzt z. B. zur Implementierung von malloc() & Co. weitere Funktion der C-Bibliothek: sbrk() malloc() und brk() nicht gleichzeitig verwendbar im Vergleich zu malloc() viel elementarer

46 46 / 49 Stackanforderung mittels alloca() void *alloca(size_t size); alloziiert size Bytes auf dem Stack (!) keine Rückgabefunktion benötigt (Warum?) nicht für alle Systeme verfügbar The alloca function is machine and compiler dependent. On many systems its implementation is buggy. Its use is discouraged. (man alloca, 2.6er Linux-System) Implementierung durch Inline-Code ( nicht als Argument einer Parameterliste nutzbar)

47 47 / 49 Ausschalten des Pagings (Pinning) Verhinderung des Auslagerns a) einzelner Seiten mittels mlock() b) des gesamten Adressraums mittels mlockall() für (weiche) Echtzeit- und sicherheitskritische Applikationen Rückbau mit munlock()/munlockall() vergrößert Pagefault-Rate für nichtpinnende Prozesse

48 48 / 49 Memory-mapped Files aka speichereingeblendete Dateien mmap(), munmap(), mremap(), msync() blendet Dateien (oder Geräte) in den Hauptspeicher ein Granularität: Seiten gemeinsame oder exklusive Einblendung möglich d. h. eingeblendete Dateien werden wie Hauptspeicher manipuliert (ersetzt klassische open/read/write/close-schnittstelle) modern

49 49 / 49 Was haben wir gelernt? Hauptspeicherverwaltung: Bitmaps, Listen, Buddy-Verfahren Virtueller Speicher: Funktionsweise, Ablauf des Pagefault, relevante Datenstrukturen Ersetzungsstrategien (LFU, NFU, Aging & Co., Working Set ) API zum Hauptspeicher von unix-artigen BS

Freispeicherverwaltung. Vorlesung Betriebssysteme II. Freispeicherverwaltung. Bitmaps. Freispeicherliste. Bitmaps

Freispeicherverwaltung. Vorlesung Betriebssysteme II. Freispeicherverwaltung. Bitmaps. Freispeicherliste. Bitmaps Freispeicherverwaltung Motivation Vorlesung Betriebssysteme II Thema : Hauptspeicherverwaltung Robert Baumgartl 7. April 5 Applikationen und das Betriebssystem selbst fordern zur Laufzeit Speicher an (und

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

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

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

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

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

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

Freispeicherverwaltung

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

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

(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

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

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

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

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

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

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

5.5.5 Der Speicherverwalter 5.5.5 Der Speicherverwalter Speicherverwalter (memory manager) reagiert auf = im einfachsten Fall ein Systemprozess, der für die Umlagerung der Seiten (page swapping) zuständig ist (analog zum Umlagerer/Swapper)

Mehr

Speicherverwaltung in C

Speicherverwaltung in C Speicherverwaltung in C Tobias Gutzmann, Le Xuan Khanh, Robert Hartmann 19.04.2005 Typeset by FoilTEX Inhalt Übersicht der wichtigsten Befehle malloc, free, realloc alloca, obstack, brk Speicherverwaltung

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

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

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

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

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

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

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

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

8. Swapping und Virtueller Speicher

8. Swapping und Virtueller Speicher 8. Swapping und Virtueller Speicher Der physikalische Adreßraum wird weiter abgebildet auf Arbeitsspeicher und Plattenspeicher. Prozesse (deren benutzte Seiten) die nicht laufen (und bald nicht laufen)

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

é 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

9) Speicherverwaltung

9) Speicherverwaltung Inhalte Speicherhierarchien Speicherzuteilung Adressbildung Lineare Adressbildung mit statischer/dynamischer Zuteilung (Segmentierung) Kompaktifizierung Lineare Adressbildung mit virtueller Adressierung

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

Ü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

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

Ü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

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

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

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

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

Adreßräume. Motivation. Seitenersetzung (Paging) Systemsoftware. = Referenzlokalität. Seite 2.1. Instruktionen werden wiederholt ausgeführt

Adreßräume. Motivation. Seitenersetzung (Paging) Systemsoftware. = Referenzlokalität. Seite 2.1. Instruktionen werden wiederholt ausgeführt Adreßräume Seitenersetzung (Paging) Motivation Instruktionen werden wiederholt ausgeführt Variablen werden wiederholt referenziert Gründe: Sequentielle Ausführung überwiegt Tatsächliche Prozedurverschachtelung

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

(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

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

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

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

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

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

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

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

Dynamische Speicherverwaltung

Dynamische Speicherverwaltung Dynamische Speicherverwaltung 1/ 23 Dynamische Speicherverwaltung Tim Dobert 17.05.2013 Dynamische Speicherverwaltung 2/ 23 Gliederung 1 Allgemeines zur Speichernutzung 2 Ziele und Nutzen 3 Anwendung in

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

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

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

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

Konzepte von Betriebssystemkomponenten Disk-Caches und Dateizugriff

Konzepte von Betriebssystemkomponenten Disk-Caches und Dateizugriff Konzepte von Betriebssystemkomponenten Disk-Caches und Dateizugriff von Athanasia Kaisa Grundzüge eines Zwischenspeichers Verschiedene Arten von Zwischenspeicher Plattenzwischenspeicher in LINUX Dateizugriff

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

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

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

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

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

Betriebssysteme 1. Thomas Kolarz. Folie 1

Betriebssysteme 1. Thomas Kolarz. Folie 1 Folie 1 Betriebssysteme I - Inhalt 0. Einführung, Geschichte und Überblick 1. Prozesse und Threads (die AbstrakFon der CPU) 2. Speicherverwaltung (die AbstrakFon des Arbeitsspeichers) 3. Dateisysteme (die

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

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

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

1. Welche Speichereinheiten werden belegt, wenn die folgenden Strategien eingesetzt werden?

1. Welche Speichereinheiten werden belegt, wenn die folgenden Strategien eingesetzt werden? Sommersemester 009 Konzepte und Methoden der Systemsoftware Universität Paderborn Fachgebiet Rechnernetze Hausübung 05 Abgabe am 0.07.009 (Kästen D) Aufgabe : Speicherzuteilung (6++=8 Punkte) Es sei der

Mehr

Lösungsvorschlag zur 6. Übung

Lösungsvorschlag zur 6. Übung rof. Frederik Armknecht Sascha Müller Daniel Mäurer Grundlagen der Informatik 3 Wintersemester 9/1 Lösungsvorschlag zur 6. Übung 1 räsenzübungen 1.1 Schnelltest a) Caches und virtueller Speicher können

Mehr

Hausübung 5 (Musterlösung )

Hausübung 5 (Musterlösung ) SoSe 2014 Konzepte und Methoden der Systemsoftware Universität Paderborn Fachgebiet Rechnernetze Hausübung 5 (Musterlösung ) 2014-06-23 bis 2014-07-04 Hausübungsabgabe: Format: Lösungen in schriftlicher

Mehr

4.3 Hintergrundspeicher

4.3 Hintergrundspeicher 4.3 Hintergrundspeicher Registers Instr./Operands Cache Blocks Memory Pages program 1-8 bytes cache cntl 8-128 bytes OS 512-4K bytes Upper Level faster Disk Tape Files user/operator Mbytes Larger Lower

Mehr

Virtueller Speicher 1

Virtueller Speicher 1 Betriebssysteme Sommersemester 2017 Betriebssysteme 6. Kapitel Virtueller Speicher 1 Dr. Peter Tröger / Prof. M. Werner Professur Betriebssysteme 1 Aktualisierte Fassung vom 29.6.17 6.1 Einführung Motivation

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

Echtzeit-Multitasking

Echtzeit-Multitasking Technische Informatik Klaus-Dieter Thies Echtzeit-Multitasking Memory Management und System Design im Protected Mode der x86/pentium-architektur. Shaker Verlag Aachen 2002 Die Deutsche Bibliothek - CIP-Einheitsaufnahme

Mehr

Echtzeit-Multitasking

Echtzeit-Multitasking Technische Informatik Klaus-Dieter Thies Echtzeit-Multitasking Memory Management und System Design im Protected Mode der x86/pentium-architektur. Shaker Verlag Aachen 2002 Die Deutsche Bibliothek - CIP-Einheitsaufnahme

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

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

Betriebssysteme I WS 2013/2014. Betriebssysteme / verteilte Systeme rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404

Betriebssysteme I WS 2013/2014. Betriebssysteme / verteilte Systeme rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404 Betriebssysteme I WS 213/214 Betriebssysteme / verteilte Systeme rolanda.dwismuellera@duni-siegena.de Tel.: 271/74-45, Büro: H-B 844 Stand: 2. Januar 214 Betriebssysteme / verteilte Systeme Betriebssysteme

Mehr

(Prüfungs-)Aufgaben zum Thema Speicherverwaltung

(Prüfungs-)Aufgaben zum Thema Speicherverwaltung (Prüfungs-)Aufgaben zum Thema Speicherverwaltung 1) Ein Betriebssystem mit virtueller Speicherverwaltung arbeite mit 32 Bit langen virtuellen Adressen einer Seitengröße von 4KB zweistufigem Paging, wobei

Mehr

Speicher Virtuelle Speicherverwaltung. Speicherverwaltung

Speicher Virtuelle Speicherverwaltung. Speicherverwaltung Speicherverwaltung Die Speicherverwaltung ist derjenige Teil eines Betriebssystems, der einen effizienten und komfortablen Zugriff auf den physikalischen Arbeitsspeicher eines Computer ermöglicht. Je nach

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

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

10.1 Seitentauschverfahren. Kapitel 10 Algorithmen zur Speicherverwaltung. Auswahlstrategie. Modellierung der Seitenzugriffe

10.1 Seitentauschverfahren. Kapitel 10 Algorithmen zur Speicherverwaltung. Auswahlstrategie. Modellierung der Seitenzugriffe 0. Seitentauschverfahren Kapitel 0 Algorithmen zur Speicherverwaltung Virtueller Speicher verwendet Paging, hierbei treten evtl. Seitenfehler auf Motivierende Rechnung: Leistungseinfluss von Seitenfehlern

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

Wegweiser: Virtueller Speicher

Wegweiser: Virtueller Speicher Wegweiser: Virtueller Speicher Anliegen Begriffe - Vorgehen Adressumsetzung Seitenersetzung Arbeitsmengenmodell Betriebssysteme WS 2007, Speicher 1 Virtueller Speicher im Betriebssystem Teilaufgaben Seitenfehler-Behandlung

Mehr

DYNAMISCHE VERWALTUNG VIRTUELLEN SPEICHERS FÜR ECHTZEITSYSTEME

DYNAMISCHE VERWALTUNG VIRTUELLEN SPEICHERS FÜR ECHTZEITSYSTEME 1 / 25 DYNAMISCHE VERWALTUNG VIRTUELLEN SPEICHERS FÜR ECHTZEITSYSTEME Martin Böhnert, Thorsten Zitterell, Christoph Scholl Albert-Ludwigs-Universität Freiburg Fakultät für Angewandte Wissenschaften Institut

Mehr

Besprechung des 8. Übungsblattes Einführung in Caches Cache-Organisation Cache-Ersetzungsstrategien Aufgaben (an der Tafel) Testklausur

Besprechung des 8. Übungsblattes Einführung in Caches Cache-Organisation Cache-Ersetzungsstrategien Aufgaben (an der Tafel) Testklausur Themen heute Besprechung des 8. Übungsblattes Einführung in Caches Cache-Organisation Cache-Ersetzungsstrategien Aufgaben (an der Tafel) Testklausur Besprechung des 8. Übungsblattes Aufgabe 2.6. In diesem

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

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

1. Von-Neumann-Architektur (7/66 Punkte)

1. Von-Neumann-Architektur (7/66 Punkte) Fakultät Informatik/Mathematik Seite 1/8 Datum: 23.12.2010 Name: Vorname: Arbeitszeit: 60 Minuten Matr.-Nr.: Hilfsmittel: alle eigenen Unterschrift: wird vom Prüfer ausgefüllt 1 2 3 4 5 6 7 8 9 Diese hat

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

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

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

Wenn alle Referenzbits gleich 1, wird nach FIFO entschieden

Wenn alle Referenzbits gleich 1, wird nach FIFO entschieden 4 Second Chance (5) Second chance zeigt FIFO Anomalie Wenn alle Referenzbits gleich 1, wird nach FIFO entschieden Erweiterung Modifikationsbit kann zusätzlich berücksichtigt werden (Dirty bit) vier Klassen:

Mehr

Betriebssysteme - Speicherverwaltung

Betriebssysteme - Speicherverwaltung Betriebssysteme - Speicherverwaltung alois.schuette@h-da.de Version: (8c45d65) ARSnova 19226584 Alois Schütte 18. Mai 2016 1 / 80 Inhaltsverzeichnis Der Hauptspeicher ist neben dem Prozessor das wichtigste

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

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