Kapitel 9 Hauptspeicherverwaltung

Save this PDF as:
 WORD  PNG  TXT  JPG

Größe: px
Ab Seite anzeigen:

Download "Kapitel 9 Hauptspeicherverwaltung"

Transkript

1 Kapitel 9 Hauptspeicherverwaltung

2 Einführung: Speicher als Betriebsmittel Speicherkapazität wächst ständig ein PC heute hat 1000 mal soviel Speicher wie 1965 der größte Computer der Welt Anwendungsprogramme wachsen jedoch noch schneller. Parkinsons Gesetz : Programme dehnen sich aus, um den verfügbaren Speicher voll auszufüllen Speicherverwaltung: Teil des Betriebssystems, der folgendes macht: verfolgt welche Speicherbereiche (nicht) benutzt werden teilt Prozessen Speicher zu und gibt ihn nachher wieder frei verwaltet die Auslagerung von Speicher auf die Festplatte Motivation: Die einfachen Methoden der Speicherverwaltung aus dieser und nächster Vorlesung werden heute zwar in Desktops seltener verwendet, dafür aber zunehmend in Palmtops, eingebetteten Systemen und Smartcards Idealer Speicher: groß + schnell + billig, in der Realität geht man Kompromisse ein: durch eine Speicherhierarchie s. nächste Folie 9-2

3 9.1 Speicherhierarchie und Lokalität Das Speichersystem eines Rechners wird hierarchisch aufgebaut und ähnelt einer Pyramide: 9-3

4 Prinzipielle Arbeitsweise der Speicherhierarchie Beim (ersten) Zugriff auf ein Datenelement wandert eine Kopie entlang der Speicherhierarchie nach oben Nach der Modifikation des Datenelements werden Änderungen (schrittweise, evtl. verzögert) nach unten propagiert. 9-4

5 Lokalität in der Speicherhierarchie Die Benutzung des Speicherhierarchie beruht auf dem Lokalitätsprinzip (Principle of locality): Ein Programm greift in einem kleinen Zeitraum t nur auf einen kleinen Teil seines Adressraums A zu. Zwei Arten der Lokalität: Räumliche Lokalität: Wird auf eine Adresse a zugegriffen, so ist ein zeitnaher Zugriff auf eine Adresse in der Nähe von a wahrscheinlich. Zeitliche Lokalität: Wird auf eine Adresse a zugegriffen, so ist es wahrscheinlich, dass in Kürze wieder auf a zugegriffen wird. Warum weisen Programme Lokalität auf: Anweisungsfolgen werden größtenteils sequentiell (ohne Sprünge) abgearbeitet räumliche Lokalität Programme verbringen die meiste Zeit in irgendwelchen Schleifen zeitliche Lokalität Manche Programmteile werden nur in Ausnahmefällen ausgeführt 90/10-Regel : Ein Prozess verbringt statistisch 90% seiner Zeit in 10% seines Adressraums. 9-5

6 Gestaltungsparameter einer Speicherhierarchie Ziel: Die gerade benötigten Daten und Programme sollen möglichst weit oben in der Speicherhierarchie (schneller Zugriff) verfügbar sein. Problem: Die Kapazitäten werden nach oben hin sehr knapp. Fragen: Woher weiß man, auf welche Daten als nächstes zugegriffen wird? Kenntnis des Programmverhaltens Wer ist für den Datentransport zwischen den Schichten zuständig? Benutzer/Programmierer, Übersetzer, Betriebssystem, Hardware In welchen Einheiten werden die Daten transportiert? Bytes, Speicherworte, Cachezeilen, Blöcke, Dateien Mechanismen: Der Zugriff auf die aktuelle Schicht kann beschleunigt werden (Caching) oder die Kapazität der aktuellen Schicht erweitert werden (Virtualisierung) siehe nächte Folie 9-6

7 Caching vs. Virtualisierung Der Programmierer als Nutzer einer Speicherhierarchie sieht i. d. R. nicht alle Schichten: einige sind transparent für ihn. Er hat den Eindruck, es gebe nur eine Schicht k, auf die sich seine Zugriffe beziehen. Sieht der Benutzer Schicht k, greift aber de facto auf Schicht k-1 zu, so spricht man von Caching. Sieht der Benutzer Schicht k, obwohl die addressierten Daten tatsächlich auf Schicht k+1 liegen, so spricht man von Virtualisierung. Durch Caching werden die Datenzugriffe schneller, durch Virtualisierung wird die Kapazität größer. 9-7

8 Zuständigkeit während der Ausführung Während der Laufzeit eines Programms wird der Transport der Daten und Befehle zwischen Hauptspeicher, Cache und Prozessor von der Hardware (Prozessor, Cache-Controller) direkt erledigt. Zugriffe auf die Platte sind Aufgabe des Betriebssystems. Aus- und Einlagern von Dateien auf/vom Archivspeicher (z.b. Festplatte) wird entweder explizit vom Benutzer oder automatisch vom Betriebssystem durchgeführt 9-8

9 9.2 Flüchtiger / Permanenter Speicher Bedingt durch die eingesetzten Speichermedien sind die oberen (schnellen) Schichten i.d.r. flüchtig, d. h. ihr Inhalt geht bei Stromabschaltung verloren. Daher werden die oberen Schichten für die Speicherung temporärer Objekte (Programmvariablen) verwendet, während die unteren Schichten für permanente Objekte (Dateien) verwendet werden 9-9

10 Caching vs. Virtualisierung: Wdh. Caching und Virtualisierung führen dazu, dass die traditionelle Verwendung des Hauptspeichers (nur für Programmadressraum) und des Plattenspeichers (nur für Dateien) aufgeweicht wurde. Virtualisierung: Temporäre Daten werden vorübergehend auch auf nichtflüchtigen Speicher ausgelagert (i. d. R. unkritisch) Caching: Permanente Daten sind evtl. nur im flüchtigen Speicher vorhanden, z. B. weil Änderungen noch nicht nach unten propagiert wurden (Daten müssen vor Stromabschaltung in den nicht-flüchtigen Speicher gebracht werden!) 9-10

11 9.3 Adressräume Ein Adressraum (AR) ist eine zusammenhängende Menge von Speicheradressen. Wir unterscheiden: Physischer Adressraum (definiert durch Breite des Adressbusses): Menge der Adressen, die der Prozessor ansprechen kann. Logischer Adressraum (aus der Sicht des Prozesses/Programms): Menge der Adressen, mit denen ein Programm arbeiten kann. Alle Prozesse teilen unter sich den physischen Adressraum; mehrere Prozesse (Threads) können in einem logischen Adressraum arbeiten Einige Teile des Adressraums können undefiniert sein. Ein Zugriff darauf führt dann zu einem Fehler, z.b.: Pentium Prozessor verwendet 32 Bit Adressen = physischer AR besteht aus Adressen zwischen 0 und , kann also bis maximal 4GB = 2 32 Byte Speicher adressieren Sind nur 512MB (2 29 Byte) Speicher eingebaut, so sind Adressen oberhalb von 2 29 undefiniert. 9-11

12 Layout eines logischen Adressraums Programmtext: Maschinencode des ausgeführten Programms Statische Daten: Programmkonstanten (z. B. konstante Zeichenketten) Heap: globale Daten, die nicht Teil einer Funktion sind (globale Variablen) Stack: lokale Daten von Funktionen (Rücksprungadressen, lokale Variablen, Parameter) 9-12

13 Mehrere Threads im logischen Adressraum Bei mehreren Prozessen pro Adressraum (Threads) sind Programm und Daten gemeinsam, aber die Stacks spezifisch. 9-13

14 Adressumsetzung: Logisch Physisch Logische Adressräume Adressraum Programm 1 Adressraum Programm 2 Physischer Adressraum (Speicher) Adressraum Programm 3 Umsetzung kann auf unterschiedliche Art realisiert werden (nächste Folien) 9-14

15 9.4 Adressierung des Hauptspeichers Direkte Adressierung: In einem ausführbaren Programm, d.h. nach Kompilieren und Binden, werden direkt physische Adressen verwendet (Programmadresse = physische Speicheradresse). Logische AR sind also Teilbereiche des physischen AR. Sie werden bereits vom Übersetzer bzw. Binder festgelegt. (Adressbindung zur Übersetzungszeit) Die Lage des Programms im Hauptspeicher muss in diesem Fall daher zur Übersetzungszeit fest vorgegeben werden und kann später nicht mehr verändert werden 9-15

16 Direkte Adressierung Direkte Adressierung: Problem Bei Mehrprogrammbetrieb kann die Adressbindung zur Übersetzungszeit zu Konflikten führen: Die Festlegung der endgültigen Adressen hat ohne Kenntnis des Speicherbelegungszustands stattgefunden, d. h. zu früh. Programme können nur dann gemeinsam in den Speicher geladen werden, wenn die Adressräume disjunkt sind. 9-16

17 Relative Adressierung Man ist flexibler, wenn die Adresse erst beim Zugriff gebildet wird (Adressbindung zur Laufzeit). Das Programm enthält auch nach dem Laden in Hauptspeicher nur relative Adressen (logischer Adressraum beginnt bei 0). Der Prozessor enthält ein Basisadressregister, das auf die Anfangsadresse gesetzt wird und bei jedem Speicherzugriff zur relativen Programmadresse dazuaddiert wird, um die Speicheradresse zu bilden. Logische AR werden also auf zusammenhängende Teile des physischen AR abgebildet. In diesem Fall ist auch ein dynamisches Umspeichern möglich oder das Einlagern an eine andere Adresse nach einem Auslagern; man braucht nur die Basisadresse zu ändern 9-17

18 9.5 Speicherschutz Motivation: Programmierfehler können zu Zugriffen auf Adressen außerhalb des logischen Adressraums führen. Durch Lesezugriffe können Prozesse (sensible/geheime) Daten anderer Prozesse lesen. Durch Schreibzugriffe können andere Programme Teile des Betriebssystems beeinträchtigt, evtl. beschädigt werden. 9-18

19 Speicherschutz durch Speichertrennregister Im Einbenutzerbetrieb reicht es aus, das Betriebssystem gegen fehlerhafte Zugriffe der Anwendungsprogramme zu schützen. Legt man alle Teile des Betriebssystems in den Randbereich des Speichers (Anfang oder Ende), so genügt ein Register, das die kleinste oder größte zulässige Adresse eines Anwendungsprogramms festlegt. Die Einhaltung muss von der Hardware gewährleistet werden. Trennwert Speichertrennregister Betriebssystem Anwendungs programm zu schützender Bereich 9-19

20 Speichergrenzregister (relative Adressierung) Bei Mehrprogrammbetrieb insb. Mehrbenutzerbetrieb und relativer, zusammenhängender Adressierung (siehe Folie 17) belegt ein Programm einen zusammenhängenden Speicherbereich, dessen Anfang und Ende überprüft werden müssen. Statt eines Speichertrennregisters werden zwei benötigt: das Basisregister gibt den Anfang, das Grenzregister das Ende des Programmadressraumes an. 9-20

21 Funktionsweise des Grenzregisters Wie üblich bei relativer Adressierung, wird zur (relativen) Programmadresse der Inhalt des Basisregisters hinzugezählt. Kleinere Adressen als die Basisadresse sind daher nicht möglich. Die Obergrenze wird mit Hilfe des Grenzregisters geprüft. Bei Überschreitung löst der Prozessor eine entsprechende Unterbrechung aus. Programmadresse Basisregister B >= +? < Unterbrechung G Grenzregister Speicher Anwendungs programm G B 9-21

22 9.6 Verschnitt (fragmentation) Als Verschnitt bezeichnet man unbenutzte Teile des Speichers Externer Verschnitt Wenn logischer AR eines Prozesses auf einen zusammenhängenden Block des Speichers abgebildet wird, kann evtl. der Platz für den Adressraum eines neuen Prozesses insgesamt zwar ausreichen, jedoch kein hinreichend großes zusammenhängendes Stück gefunden werden. Der Speicherplatz ist somit frei, aber momentan nicht belegbar! Man spricht von Externem Verschnitt Neuer Prozessadressraum frei, aber nicht belegbar (externer Verschnitt) belegt 9-22

23 Verschnitt: Forts. Interner Verschnitt Da Speicher meistens in Vielfachen von festen Elementargrößen vergeben wird und Anforderungen auf das nächste Vielfache gerundet werden, entsteht Speicherplatz, der als belegt gekennzeichnet ist, aber tatsächlich nicht benutzt wird. Beispiel: Ein Prozess benötigt Platz für eine Variable (1 Byte), aber die Elementargröße ist 1KB. Es wird 1KB als belegt markiert, obwohl nur 1 Byte verwendet wird. Man nennt solchen Speicherplatz interner Verschnitt (internal fragmentation). frei, aber nicht belegbar (externer Verschnitt) belegt, aber nicht benutzt (interner Verschnitt) belegt und benutzt 9-23

24 9.7 Streuende Adressierung Bisher haben wir zusammenhängende Adressierung betrachtet Alternative: Der Logische Adressraum wird in kleinere Stücke zerlegt, die unabhängig voneinander im Speicher abgelegt werden, dadurch: +: Bessere Ausnutzung von Lücken (geringerer externer Verschnitt) : Höherer Aufwand beim Adressieren Arten: Paging (gleichlange Stücke) und Segmentierung (variabel) Die Adressumsetzung passiert dynamisch durch eine spezielle Einrichtung des Prozessors, Memory Management Unit (MMU) : Logischer Adressraum Physischer Adressraum MMU 9-24

25 Stückelung in gleichlange Teile (Paging) Die Teile des Adressraums im Prozess heißen Seiten (pages). Die korrespondierenden Einheiten des Speichers heißen Seitenrahmen oder Kacheln (page frames). Logischer Adressraum Physischer Adressraum Kein externer, sondern interner Verschnitt, da immer ein vielfaches der Kachelgröße belegt wird, eine Seite kann evtl. nicht voll belegt werden 9-25

26 Seitentabelle Da es beim Paging eine große Anzahl von Basisadressen geben kann, können wir sie nicht alle im Prozessor halten. Sie werden in einer Seitentabelle im Hauptspeicher abgelegt. Im Prozessor befindet sich nur noch die Basisadresse der Seitentabelle in einem Register. Die Programmadressen bestehen aus zwei Teilen, der Seitennummer und einer Relativadresse innerhalb der Seite (offset, displacement). Tabellenbasisadresse Prozessor Hauptspeicher Seitentabelle Speicher Kacheladresse K: Konkatenation K Seite Byte Programm /Datenadresse Kachel Byte Physische Adresse 9-26

27 Seitengröße Wie groß sollte eine Seite sein? kleine Seiten: + geringer interner Verschnitt - lange Seitentabellen große Seiten: - hoher interner Verschnitt + kurze Seitentabellen Sei p Länge des Logischen Adressraums s Seitenlänge Dann gilt: mittlerer interner Verschnitt: s/2, d.h. im Mittel wird die letzte Seite nur halb benutzt Länge der Seitentabelle: [p/s] Relativer Gesamtverlust an Speicher: v = (p/s + s/2)/p Daraus folgt durch Minimierung: s opt = 2p, v opt = 2/p 9-27

28 Seitengröße Beispiel: s opt v opt p = % p = % p = % Wählt man jeweils die optimale Seitenlänge, so nimmt der Speicherverlust mit zunehmender Programmgröße ab. 9-28

29 Stückelung in variabel lange Teile (Segmentierung) kein interner Verschnitt dafür externer Verschnitt 9-29

30 Stückelung in variabel lange Teile (Segmentierung) Segmente werden wie Seiten (aber diesmal variabler Größe) in einer Tabelle verwaltet Da Segmente an beliebigen Adressen beginnen können, muss die Segmenttabelle volle Adressen aufnehmen können. Die Relativadresse (Byte) innerhalb des Segments wird dann zur Segmentbasisadresse addiert. Tabellenbasisadresse Segmenttabelle Speicher + Segmentbasisadresse Segment Byte

31 Gegenüberstellung: Seiten- und Segmentumsetzung 9-31

32 Beschleunigung der Adressumsetzung Problem: Segment- und Seitentabellen passen nicht in Prozessorregister und müssen deshalb im Hauptspeicher untergebracht werden. Um eine effektive Hauptspeicheradresse zu bilden, muss also zunächst die Seiten/Segmentadresse aus dem Hauptspeicher geladen werden Für jeden Zugriff (Befehl oder Daten) sind damit mindestens zwei Hauptspeicherzugriffe erforderlich. Dadurch halbiert sich in etwa die Verarbeitungsgeschwindigkeit. Lösung: Die aktuell benötigten (Teile der) Segment/ Seitentabellen unter Ausnutzung der Lokalität (vgl. Folie 5) in einem schnellen Registersatz gespeichert: TLB = Translation Lookaside Buffer Der TLB ist ein Assoziativspeicher, d.h. eine Tabelle, bei der der zu findende Eintrag simultan in allen Zeilen der Tabelle gesucht wird. Die Suche kann also in einem Schritt durchgeführt werden. Der TLB wird als eine Art Cache für Seiten-/Segmenttabellen verwendet und entweder in Hardware oder in Software implementiert. 9-32

33 9.8 Virtualisierung des Speichers Speicherverwaltung unterscheidet sich in verschiedenen Systemen Batch-Systeme bearbeiten Aufträge, die in festen Partitionen des Speichers platziert und von Anfang zu Ende bearbeitet werden Timesharing Systeme, PC mit GUI: hier gibt es i.d.r. nicht genug Hauptspeicher für aktive Prozesse, so dass diese zwischen dem Hauptspeicher und der Festplatte wandern müssen. Dies wird auf zwei Arten organisiert: Swapping: ein Prozess läuft nur wenn er vollständig im Hauptspeicher ist; Prozesse werden wiederholt vollständig ein- und ausgelagert Virtueller Speicher: Prozesse laufen auch wenn nur ein Teil von ihnen im Hauptspeicher liegt Virtueller Speicher ist die State-of-the-Art in der Speicherverwaltung: Grundidee: BS hält die zurzeit benötigten Teile von Programmen und Daten im Hauptspeicher, den Rest auf der Festplatte Techniken: Paging/Segmentierung (diese Vorlesung), Ersetzungsstrategien (nächste Vorlesung) 9-33

34 Virtueller Speicher Das Zerlegen der Adressräume, das Ein-und Auslagern der Teile auf die Festplatte kann (mit HW-Unterstützung) automatisiert werden. Die benötigten Teile werden erst auf Anforderung eingelagert (demand paging). Für den Benutzer / Programmierer sind diese Vorgänge transparent: Er hat den Eindruck, der Hauptspeicher sei in unbegrenzter Größe vorhanden. Dieser unbegrenzte Speicher ist jedoch nur virtuell vorhanden. Voraussetzungen für effizienten Betrieb: Gestreute Adressierung (Seitentabellen) Automatisches Erkennen der Seitenabwesenheit im Hauptspeicher Zugriff auf nichtvorhandene Seite löst Unterbrechung aus. Einlagerung der Seite im Rahmen der Unterbrechungsbehandlung. 9-34

35 Datenstrukturen für virtuellen Speicher Seitentabelle (page table) Funktion: Adresstransformation Inhalt für jede Seite: Nutzungs- und Präsenzinformation, Physikalische Adresse (Kachelnummer) Problem: Seitentabelle kann riesengroß werden: z.b. im 64-Bit-Computer mit 4 KB großen Seiten 2 52 Einträge, d.h. bei 8 Byte pro Eintrag wird die Seitentabelle GB groß!!! Kacheltabelle (page frame table, inverted page table) Funktion: Speicherverwaltung (Alternative zu Seitentabelle) Inhalt für jede Kachel: Zustand (frei / belegt), Prozeß-Besitzer, belegende Seite Vorteil: viel weniger Platz nötig als für Seitentabelle Nachteil: bei jedem Speicherzugriff muss die Gesamttabelle nach dem Eintrag (Prozess, Seitennummer) durchgesucht werden Lösung: Benutzung des TLB (s.o.), die Suche wird lediglich dann durchgeführt wenn die Seite nicht im TLB liegt Ersatzspeicher (swap area) auf der Festplatte: für ausgelagerte Seiten 9-35

36 Seitentabelle für virtuellen Speicher Zusätzlich zur physikalischen Adresse enthält jeder Eintrag in der Seitentabelle Informationen, ob die Seite im Hauptspeicher vorhanden ist: Präsenzbit (presence bit, valid bit) auf die Seite kürzlich zugegriffen wurde: Referenzbit (reference bit) die Seite verändert wurde (Schreibzugriff) Modifikationsbit (dirty bit) 9-36

37 Seitentabelle für virtuellen Speicher Seiten Speicher (Kacheln) Seitentabelle Modifikation Zugriff (Ref.) Präsenz 9-37

38 Aufgaben bei Seitenfehlern 9-38

39 Pufferung Da Seitenfehler (d.h. die benötigte Seite ist nicht im Speicher) oft stoßweise auftreten, ist es sinnvoll, einen Vorrat an freien Kacheln bereitzuhalten. Zu diesem Zweck setzt man in BS häufig einen eigenen Thread zum Kachelleeren ein Wenn der Vorrat an freien Kacheln unter eine gewisse Schwelle sinkt, sucht der Thread nach Seiten, die ausgelagert werden können Dadurch stehen bei einem Seitenfehler ausreichend freie Kacheln zur Verfügung. Unterschiedliche Seitenersetzungsstrategien werden wir in der nächsten Vorlesung kennenlernen 9-39

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

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

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

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

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

Ü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

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

5 Speicherverwaltung. bs-5.1 1

5 Speicherverwaltung. bs-5.1 1 5 Speicherverwaltung bs-5.1 1 Pufferspeicher (cache) realer Speicher Primärspeicher/Arbeitsspeicher (memory) Sekundärspeicher/Hintergrundspeicher (backing store) (Tertiärspeicher/Archivspeicher) versus

Mehr

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

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

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

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

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

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

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

Mehr

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

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

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

MMU Virtualisierung. ISE Seminar 2012. Thomas Schaefer 1

MMU Virtualisierung. ISE Seminar 2012. Thomas Schaefer 1 MMU Virtualisierung ISE Seminar 2012 Thomas Schaefer 1 Inhalt Allgemein MMU: Virtualisiert Probleme Problem 1: Ballooning Problem 2: Memory-Sharing Kurz: Problem 3 & 4 Translation Lookside Buffer TLB in

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

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

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

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

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

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 (Swapping und Paging)

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

Mehr

Grundlagen 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

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

Definitionen zum Verschnitt

Definitionen zum Verschnitt Definitionen zum Verschnitt Die absoluten Größen haben eine Einheit. Beim Bilden der Verhältnisgrößen wird die Einheit gekürzt. Man kann bei den Verhältnisgrößen die Größe durch die Anzahl vorgegebener

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

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

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

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

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

(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

Technische Informatik I. Übung 3 Speicherhierarchie. v t d 0 d 1 d 2 d 3 0 1 2 3. Technische Informatik I Übung 3. Technische Informatik I Übung 3

Technische Informatik I. Übung 3 Speicherhierarchie. v t d 0 d 1 d 2 d 3 0 1 2 3. Technische Informatik I Übung 3. Technische Informatik I Übung 3 Institut für Kommunikationsnetze und Rechnersysteme Technische Informatik I Paul J. Kühn, Matthias Meyer Übung 3 Speicherhierarchie Inhaltsübersicht Aufgabe 3.1 Daten-Cache Aufgabe 3.2 Virtueller Speicher

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

Mehr

6 Speicherverwaltung

6 Speicherverwaltung 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 mehreren Schritten zu modifizieren.

Mehr

Anbindung zum Betriebssystem (BS)

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

Mehr

(Prof. Dr. J. Schlichter, WS 2011 / 2012) Übungsleitung: Dr. Wolfgang Wörndl (gbs-ws11@mailschlichter.informatik.tu-muenchen.de)

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

Mehr

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

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 13.2.213 1 Inhalt Vorlesung Aufbau einfacher Rechner Überblick: Aufgabe, Historische Entwicklung, unterschiedliche Arten

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

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

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

CA Übung 30.01.2006. Christian kann heute nicht kommen => ich bin heute da, Christian das nächste Mal wieder CA Übung 30.01.2006 Hallo zusammen! Christian kann heute nicht kommen => ich bin heute da, Christian das nächste Mal wieder Adrian Schüpbach: scadrian@student.ethz.ch Christian Fischlin: cfischli@student.ethz.ch

Mehr

Systeme I: Betriebssysteme Kapitel 4 Prozesse. Maren Bennewitz

Systeme I: Betriebssysteme Kapitel 4 Prozesse. Maren Bennewitz Systeme I: Betriebssysteme Kapitel 4 Prozesse Maren Bennewitz Version 20.11.2013 1 Begrüßung Heute ist Tag der offenen Tür Willkommen allen Schülerinnen und Schülern! 2 Wdhlg.: Attributinformationen in

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

é 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

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

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

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

Speicherverwaltung und Cache Erläuterungen

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

Mehr

Rechnernutzung in der Physik. Betriebssysteme

Rechnernutzung in der Physik. Betriebssysteme Rechnernutzung in der Physik Betriebssysteme 1 Betriebssysteme Anwendungsprogramme Betriebssystem Treiber BIOS Direkter Zugriff von Anwenderprogrammen auf Hardware nur in Ausnahmefällen sinnvoll / möglich:

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

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

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

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

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

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

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

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

Ü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

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

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

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

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

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

Die Linux Kernel Virtual Machine - Wo steht der Linux Hypervisor? 2. März 2008

Die Linux Kernel Virtual Machine - Wo steht der Linux Hypervisor? 2. März 2008 Die Linux Kernel Virtual Machine - Wo steht der Linux Hypervisor? 2. März 2008 Jörg Rödel Virtualization - Whats out there? Virtualisierung hat bereits längere Geschichte auf x86 Startete mit VMware Setzte

Mehr

Lösungsskizzen zur Abschlussklausur Betriebssysteme

Lösungsskizzen zur Abschlussklausur Betriebssysteme Lösungsskizzen zur Abschlussklausur Betriebssysteme 24. Januar 2013 Name: Vorname: Matrikelnummer: Studiengang: Hinweise: Tragen Sie zuerst auf allen Blättern (einschlieÿlich des Deckblattes) Ihren Namen,

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

Die Mikroprogrammebene eines Rechners

Die Mikroprogrammebene eines Rechners Die Mikroprogrammebene eines Rechners Das Abarbeiten eines Arbeitszyklus eines einzelnen Befehls besteht selbst wieder aus verschiedenen Schritten, z.b. Befehl holen Befehl dekodieren Operanden holen etc.

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

Hyper-V Grundlagen der Virtualisierung

Hyper-V Grundlagen der Virtualisierung Grundlagen der Virtualisierung Was ist Virtualisierung? Eine Software-Technik, die mehrere Betriebssysteme gleichzeitig auf dem Rechner unabhängig voneinander betreibt. Eine Software-Technik, die Software

Mehr

Anbindung zum Betriebssystem (BS)

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

Mehr

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

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

Projekt für Systemprogrammierung WS 06/07

Projekt für Systemprogrammierung WS 06/07 Dienstag 30.01.2007 Projekt für Systemprogrammierung WS 06/07 Von: Hassan Bellamin E-Mail: h_bellamin@web.de Gliederung: 1. Geschichte und Definition 2. Was ist Virtualisierung? 3. Welche Virtualisierungssoftware

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

Hochschule Darmstadt - Fachbereich Informatik - Fachschaft des Fachbereiches

Hochschule Darmstadt - Fachbereich Informatik - Fachschaft des Fachbereiches Hochschule Darmstadt - Fachbereich Informatik - Fachschaft des Fachbereiches Verwendung der bereitgestellten Virtuellen Maschinen»Einrichten einer Virtuellen Maschine mittels VirtualBox sowie Zugriff auf

Mehr

Universität Bielefeld Technische Fakultät AG Rechnernetze und verteilte Systeme. Vorlesung 4: Memory. Wintersemester 2001/2002. Peter B.

Universität Bielefeld Technische Fakultät AG Rechnernetze und verteilte Systeme. Vorlesung 4: Memory. Wintersemester 2001/2002. Peter B. Universität Bielefeld Technische Fakultät AG Rechnernetze und verteilte Systeme Vorlesung 4: Memory Peter B. Ladkin Address Translation Die Adressen, die das CPU benutzt, sind nicht identisch mit den Adressen,

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

OPERATIONEN AUF EINER DATENBANK

OPERATIONEN AUF EINER DATENBANK Einführung 1 OPERATIONEN AUF EINER DATENBANK Ein Benutzer stellt eine Anfrage: Die Benutzer einer Datenbank können meist sowohl interaktiv als auch über Anwendungen Anfragen an eine Datenbank stellen:

Mehr

Welche der folgenden Aussagen gelten? a) Im allgemeinen gilt: ein Deadlock tritt auf gdw. der Resource-Allocation Graph einen Zykel

Welche der folgenden Aussagen gelten? a) Im allgemeinen gilt: ein Deadlock tritt auf gdw. der Resource-Allocation Graph einen Zykel Aufgabe 1 (5 Punkte) (Multiple Choice) Beantworten Sie folgende Fragen durch Ankreuzen der richtigen Antwort. Für jede falsche Antwort wird ein Punkt abgezogen (es werden minimal 0 Punkte vergeben). Welche

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

Java Virtual Machine (JVM) Bytecode

Java Virtual Machine (JVM) Bytecode Java Virtual Machine (JVM) durch Java-Interpreter (java) realisiert abstrakte Maschine = Softwareschicht zwischen Anwendung und Betriebssystem verantwortlich für Laden von Klassen, Ausführen des Bytecodes,

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

Dr. Peter Tröger / Prof. M. Werner

Dr. Peter Tröger / Prof. M. Werner Betriebssysteme Sommersemester 2017 Betriebssysteme 11. Kapitel Resümee Dr. Peter Tröger / Prof. M. Werner Professur Betriebssysteme Was ist ein Betriebssystem? SoSe 2017 P. Tröger / M. Werner 2 / 31 osg.informatik.tu-chemnitz.de

Mehr

Anbindung zum Betriebssystem (BS)

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

Mehr

Betriebssysteme Kap A: Grundlagen

Betriebssysteme Kap A: Grundlagen Betriebssysteme Kap A: Grundlagen 1 Betriebssystem Definition DIN 44300 Die Programme eines digitalen Rechensystems, die zusammen mit den Eigenschaften dieser Rechenanlage die Basis der möglichen Betriebsarten

Mehr

Kapitel 11: Speicherverwaltung

Kapitel 11: Speicherverwaltung Kapitel 11: Speicherverwaltung Motivation Speicherverwaltungsmodul Entwurfsparameter Konkrete Speicherverwaltungsverfahren o Ringpuffer o Stapel o Randkennzeichnungsverfahren o Halbierungsverfahren o Linux

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

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

Datenbanken 16.1.2008. Die Entwicklung der Datenbanksysteme ist eng an die der Hardware gekoppelt und wird wie jene in Generationen eingeteilt:

Datenbanken 16.1.2008. Die Entwicklung der Datenbanksysteme ist eng an die der Hardware gekoppelt und wird wie jene in Generationen eingeteilt: Datenbanksysteme Entwicklung der Datenbanksysteme Die Entwicklung der Datenbanksysteme ist eng an die der Hardware gekoppelt und wird wie jene in Generationen eingeteilt: 1. Generation: In den fünfziger

Mehr

4 Planung von Anwendungsund

4 Planung von Anwendungsund Einführung 4 Planung von Anwendungsund Datenbereitstellung Prüfungsanforderungen von Microsoft: Planning Application and Data Provisioning o Provision applications o Provision data Lernziele: Anwendungen

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

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

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