Kapitel VI. Speicherverwaltung. Vorlesung Betriebssysteme

Größe: px
Ab Seite anzeigen:

Download "Kapitel VI. Speicherverwaltung. Vorlesung Betriebssysteme"

Transkript

1 Kapitel VI Speicherverwaltung 1

2 Speicherverwaltung Computer exekutiert Programme (mit Daten) im Hauptspeicher. Hauptspeicher: Großes Array von Wörtern W (1 oder mehrere Bytes) Jedes Wort hat eine eigene Adresse. Ausführungszyklus einer Programminstruktion: CPU holt Instruktion aus Hauptspeicher basierend auf Programmzähler. Instruktion wird dekodiert. Operanden werden von Hauptspeicher/Register geholt. Resultate werden im Hauptspeicher/Register gespeichert. Meistens werden mehrere Programme zugleich exekutiert. Hauptspeicher hat zuwenig Platz für f r alle Programme und Daten. Festplatte als Backup-Speicher für f r Hauptspeicher. 2

3 Adressbindung (1) Programm liegt auf Festplatte als Binärcode. Programm wird geladen (von Festplatte in Hauptspeicher) und von Prozess exekutiert. Prozesse, die darauf warten, geladen zu werden, befinden sich in der Eingabewarteschlange. Ein Prozess wird aus der Warteschlange ausgewählt und geladen. Prozess greift auf Instruktionen und Daten im Speicher zu. Prozess terminiert und gibt Speicher frei. Programm kann an viele Stellen im Speicher geladen werden. Die Adressbindung von Instruktionen und Daten kann auf verschiedene ene Arten erfolgen. 3

4 Adressbindung (2) Zur Übersetzungszeit Programmstartadresse im Speicher zur Übersetzungszeit bekannt. Kann absolute Adressen generieren Bei Änderung der Startadresse muss neu übersetzt werden. Zur Ladezeit Startadresse des Programms nicht zur Übersetzungszeit bekannt. Übersetzer erzeugt relocatable Code. Adressbindung erst zur Ladezeit Bei Änderung der Startadresse muss neu geladen werden. Zur Laufzeit Prozess kann während w Exekution im Speicher verschoben werden. Adressbindung erst zur Laufzeit. Spezielle Hardware notwendig (dynamische Adressberechnung) 4

5 Verarbeitung eines Programms zur Übersetzungszeit Eingabeprogramm Symbolische Adressen z.b. ZählerZ Übersetzer oder Assembler Objektmodul Warum muss ein Programm für f r jeden Prozessor neu übersetzt werden? Warum muss ein Programm beim Wechsel des Betriebssystems neu übersetzt werden? Relocatable Adressen 5 z.b. 14 Bytes nach Beginn dieses Speichermoduls

6 Verarbeitung eines Programms zur Ladezeit Objektmodul Weitere Objektmodule Linker Lademodul Lader Systembibliothek 6

7 Verarbeitung eines Programms zur Laufzeit Lader Dynamisch geladene Systembibliothek Binärcode (Image) absolute Adressen 7

8 Dynamisches Laden und Linken Dynamisches Linken (meist für f r Sprach- oder Systembibliotheken): Linken von Routinen mit Benutzerprogramm zur Laufzeit. Statt Routine wird Stub in den Binärcode inkludiert. Stub weiß wo sich Routine (bereits geladen) befindet, oder wie man Routine lädt. l Stub ersetzt sich selbst mit der Adresse der Routine und exekutiert diese. Bei der nächsten n Verwendung einer Routine ist diese bereits im Speicher. Dynamisches Laden: Dynamisches Laden, um Speicher optimal auszunützen Alle Routinen sind auf der Platte in relocatable Format. Eine Code-Routine wird erst bei Gebrauch zur Laufzeit geladen. 8

9 Overlays Was ist, wenn ein Prozess mehr Speicher benötigt, als physikalisch verfügbar ist? Verwende Overlays: Lege nur jene Befehle im Speicher ab, die gerade benötigt werden. Alle anderen Befehle bleiben auf der Platte. Bei Bedarf ersetze geladene Befehle, die möglichst m nicht mehr verwendet werden. Programme werden dazu in Segmente zerlegt. Ein Overlay ist eine Sequenz von Segmenten, die vollständig im Speicher exekutiert werden kann. 9

10 Logische und Physikalische Adressen Logische (virtuelle) Adressen aus der Sicht der CPU Physikalische Adressen aus der Sicht des Speichers Logische Adressen werden zur Laufzeit von der Memory Management Unit (MMU) in physikalische Adressen übersetzt. MMU ist ein Hardware-Bauteil. CPU logische Adresse Relocation Register physikalische Adresse MMU Haupt- speicher 10

11 Speicherverwaltung (1) Was tun, wenn der Hauptspeicher nicht ausreicht? Teil des Speichers könnte k auf die Platte ausgelagert werden. Platte ist größ ößer, dafür r langsamer als der Hauptspeicher. Mehrere Programme zugleich im Speicher CPU ist besser ausgelastet (Prozess wird exekutiert, während w andere Prozesse auf I/O warten) Mehrere Programme exekutieren zugleich. Übersetzer, Editor, Debugger Textverarbeitungs-,, Spreadsheet- und Zeichenprogramm Prozesse müssen m untereinander vor unerlaubtem Speicherzugriff geschützt werden. Verwende virtuelle Adressen Werden wie herkömmliche Adressen verwendet Hardware übersetzt diese in physikalische Adressen. 11

12 2 grundlegende Ansätze: Swapping virtueller Speicher Speicherverwaltung (2) Swapping jeder Prozess vollständig im Speicher läuft eine gewisse Zeit wird auf Plattenspeicher ausgelagert virtueller Speicher Teile eines Programms befinden sich im Speicher Beide Ansätze stellen dem Programmierer einen logischen Speicher zur Verfügung, der den gesamten Hauptspeicher aber nur einen Teil des Plattenspeichers (spezieller Bereich) umfasst. 12

13 Swapping (1) Prozess muss sich im Hauptspeicher befinden, bevor er exekutiert wird. Swapping: Transfer von vollständigem Prozess aus Hauptspeicher in den Plattenspeicher und umgekehrt Prozess kann temporär r auf Plattenspeicher ausgelagert werden: Multitasking gute Ausnutzung der CPU Laufzeiten sollen im Vergleich zu den Swap-Intervallen lang sein. Swapping ist teuer! Betriebssystem muss jederzeit die Größ öße e des dynamisch alloziierten Speichers eines Programmes kennen. Prozesse mit hoher Priorität t haben Vorrang. Zu wenig Hauptspeicher Swap-Speicher Speicher der Platte ist separater (getrennt von Filesystem) Bereich, um Zugriffszeiten zu optimieren. Prozess wird wieder von Platte in Hauptspeicher kopiert. 13

14 Swapping (2) 14

15 Swapping Änderung der Speicherallokation Veränderung der Speicherallokation, wenn Prozess in den Hauptspeicher geladen wird Hauptspeicher verlässt 15

16 Speicherverwaltung mit Bitmaps oder Freibereichslisten Teil eines Speichers mit 5 Prozessen und 3 Leerräumen Bit im Bitmap entspricht einer Einheit (Wörter, einige Kilobytes) freie Einheiten als schraffierte Flächen Bitmap versus verkettete Liste 16

17 Speicherverwaltung mit verketteten Listen 17

18 Swapping dynamische Speicherblöcke cke Speichervergabe für f r dynamisch wachsende Datensegmente Speichervergabe für f r wachsenden Stack und Datensegmente 18

19 Swapping und dynamische Speichervergabe Suchverfahren (1) Bei Speicheranforderung: suche passenden Eintrag in Freispeicherliste benötigten Anteil an Prozess zuweisen Rest wieder in Freispeicherliste eintragen First-fit fit: : erster Freibereich, der groß genug ist d.h. den mit der kleinsten Adresse Next Fit: : wie First Fit, aber Suche startet an zuletzt gefundener Position statt am Anfang Schlechter als First Fit: Fragmentiert gesamten physischen Adreßraum raum 19

20 Swapping und dynamische Speichervergabe Suchverfahren (2) Best-fit fit: : kleinster Freibereich, der groß genug ist; gesamte Liste muss durchsucht werden; sortiere Freibereich nach der Größ öße. Nachteil: erzeuge viele, sehr kleine Freibereiche Worst-fit fit: : verwende am schlechtesten passenden Bereich (größ ößter Freibereich); muss gesamte Liste durchsuchen. First-fit und Best-fit sind besser als Worst-fit im Bezug auf Geschwindigkeit und Speicherverbrauch. First-fit ist das schnellste Verfahren. 20

21 Swapping und dynamische Speicherverwaltung 21

22 Swap-Space Space Wo befindet sich der Swap Space? Ist es ein normales File im File-System System? Befindet es sich in einem speziellen Bereich auf der Platte? normales File einfache Lösung L verhält sich wie ein File leicht zu ändern verwende herkömmliche Tools langsam wegen File-System System-Overhead spezieller Plattenbereich schneller Änderungen sind schwierig, da neuer Plattenbereich benötigt wird. 22

23 Swapping: Diskussion Unterschied zu festen Partitionen: Zahl, Größ öße e und Ort der Partitionen variabel Löcher im Speicher können k im Prinzip durch Verschieben zusammengefasst werden. Probleme: Ein- und Auslagern ist sehr zeitaufwendig. Prozess kann zur Laufzeit mehr Speicher anfordern. führt evtl. zu Verschiebung oder Auslagerung von Prozessen Schlechte Speichernutzung: Prozess benötigt in der Regel nicht immer seinen ganzen Adressraum. 23

24 Virtueller Speicher: Paging (1) Virtueller Speicher meist durch Paging implementiert Physikalischer Speicher (Haupt- und Plattenspeicher) wird in Blöcke (Frames( - Seitenrahmen) ) gleicher Größ öße e unterteilt. Logischer Speicher wird in Blöcke (Seiten( Seiten) ) mit derselben Größ öße e wie Frames unterteilt. Typische Seitengröß ößen liegen zwischen 512 Bytes und 16 MBytes Bei der Exekution eines Prozesses durch die CPU werden nur jene Seiten in den Speicher geladen, die tatsächlich verwendet werden. Zwischen Speicher und Platte werden immer ganze Seiten übertragen. Tabelle für f r die Adresskonvertierung von virtuellen in physikalische Adressen en Betrachte eine 32-Bit Adresse 4096 Byte Seiten (12 Bits für f r die Adressierung innerhalb der Seite) 2^20 Seiten (20 Bits) virtuelle Adresse 20 bits 12 bits Position Present Rd/Write Seiten- Tabelle + Hauptspeicher 24

25 Virtueller Speicher: : Paging (2) Grundlagen: strikte Trennung zwischen logischen Adressen,, die der Prozess sieht bzw. benutzt. physischen Adressen,, die der Hauptspeicher sieht. Idee: bei jedem Speicherzugriff wird die vom Prozess erzeugte logische Adresse auf eine physische Adresse abgebildet durch Hardware: MMU (Memory Management Unit) Vorteile: kein Verschieben beim Laden eines Prozesses erforderlich auch kleine freie Speicherbereiche sind nutzbar Speicherschutz ergibt sich (fast) automatisch ermöglicht auch Teile des Prozessraums auszulagern 25

26 Virtueller Speicher Paging 26

27 Paging Relation zwischen virtuellen und physikalischen Adressen 27

28 Seitentabellen MMU Adressumwandlung mit 16 4 KB Seiten 28

29 Vorteil der virtuellen Adressierung Programme können k nicht zusammenhängende ngende Bereiche eines physikalischen Speichers verwenden. Ein Programm kann nur auf seinen eigenen Speicherbereich (Seiten) zugreifen. Kann mehr virtuelle Seiten verwenden, als im physikalischen Speicher vorhanden sind. Seiten, die nicht in den Speicher passen, können k auf die Platte ausgelagert werden. Jedes Programm kann bei der (virtuellen) Adresse 0 beginnen. Größ öße e des Speichers unwichtig aus der Sicht des Programmierers 29

30 Paging Benutzer- versus Systemsicht Unterschied zwischen Adressbereich den der Benutzer sieht, und dem tatsächlichen physikalischen Speicher Für r den Benutzer: kontinuierlicher Speicher ohne LückenL Tatsächlich: Benutzerprogramm über physikalischen Speicher verstreut Hardware-Adressierungsmodus als Schnittstelle zwischen beiden Adressbereichen Paging nutzt den Speicher optimal aus, da Seiten nicht kontinuierlich im Speicher abgelegt sein müssen. m 30

31 Paging Seitengröß ößen: Vor- u. Nachteile Normalerweise hat jeder Prozess seine eigene Seitentabelle. 1 Eintrag pro Seite, die der Prozess verwendet Betriebssystem verwaltet physikalischen Speicher. Seitengröß ößen mit Vor- und Nachteilen Prozesse benötigen nicht immer das Vielfache einer Seite als Speicher. Letzte Seite meist nicht effektiv verwendet. Kleine Seitengröß ößen besseren Nutzungsgrad. Je kleiner die Seiten, desto größ ößer die Seitentabellen Mehr Aufwand für f r Verwaltung der Seitentabellen Transfer von Frames aus Plattenspeicher effizienter für f r große Seiten 31

32 Virtuelle Adresse Probleme mit Seitentabellen Eine Seitentabelle kann sehr groß werden Einträge für f r die meisten Programme. Wobei die meisten Einträge leer sind. Beachte, dass jeder Prozess eine eigene Seitentabelle hat. Lösung 1: Verwende eine Hierarchie von Seitentabellen (Pagen der Seitentabelle). 12 bits 10 bits Seitenverzeichnis Pg Tbl Ptr 10 bits Seitentabelle physik. Seitennr. + Hauptspeicher 32

33 Invertierte Seitentabellen Lösung 2: 1 Tabelle (invertierte( Seitentabelle) ) für f r alle Prozesse statt eigener Tabelle für f r jeden Prozess Wenn eine Speicheradresse von der CPU <prozess-id, seiten-nr nr, offset> angesprochen wird, so wird die invertierte Seitentabelle durchsucht cht (Hash-Funktion). Ein Eintrag pro Seite des physikalischen Speichers in inv. Tabelle le <prozess-id, seiten-nr nr> Prozess-Id gibt an, wem die Seite gehört. Wenn ein Eintrag in der invertierten Seitentabelle gefunden wird, dann generiere die physikalische Adresse <i, offset>. Die invertierte Seitentabelle speichert keine Informationen über Seiten, die nicht im Hauptspeicher sind. Zugriffszeiten sind länger l wegen Hash-Suchvorgang Suchvorgang. 33

34 CPU Invertierte Seitentabelle: Beispiel PID Seiten # Offset i Offset Physikal. Adr. virtuelle Adr. Haupt- Speicher Hash Funktion 1 i invertierte Seitentabelle PID Seiten # 1 Seitentabelle pro System 34

35 Schnellere Abbildung von virtuellem auf physikalischen Speicher Benötige Hardware für f r die Konvertierung von virtuellen in physikalische Adressen kann mehrere Speicherzugriffe verursachen (Tabelle + Adresse) Geschwindigkeit kann problematisch sein. Lösung: Translation Look-Aside Buffer (TLB) als HW-cache Speichert bereits gefundene Adressabbildungen Zusätzlich zur Seitentabelle, die im Speicher ist Assoziative Tabelle für f r die Adresskonvertierung Normalerweise 8 bis 4096 Einträge valid virtual page physical page 20 bits 20 bits Intel x86 35

36 Gemeinsamer Speicher Gemeinsame Verwendung von Seiten Mehrere Prozesse verwenden denselben Code oder dieselben Daten. Mehrere Seiten können k mit dem selben Frame assoziiert sein. Bei read-only only-daten ist das Teilen von Seiten immer sicher. Schreiboperationen auf gemeinsamen Seiten sind problematisch. Copy-on on-write: : Seiten werden häufig h gemeinsam verwendet, bis ein Prozess eine Schreiboperation ausführt. Beim Schreiben einer gemeinsame Seite wird ein neuer Frame angelegt. Schreibender Prozess besitzt modifizierte Seite. Alle anderen Prozesse besitzen Originalseite. Synchronisiere Zugriff auf gemeinsame Seite. z.b. Semaphore 36

37 Virtuelle Adresse ohne physikalische Adresse: Seitenfehler Das nennt man einen Page Fault (Seitenfehler). Software Interrupt (Trap)) in das Betriebssystem aus der Hardware Verursacht durch: Erste Verwendung einer Seite (Demand( Paging) Betriebssystem holt Seite von Platte, und Prozess macht weiter. Lese Daten von der Platte oder initialisiere Datenseite mit 0. Referenz auf eine ungültige Seite Programm wird mit einer Segmentation Violation terminiert. Seite ist auf der Platte. Hole Seite von Platte, lade diese in eine physikalische Seite des Hauptspeichers, und setze mit dem Programm fort. Copy-on on-write Seite (neuer Frame bei Schreiboperation) 37

38 Zustand von Seiten (Hardware Perspektive) Seiten-Frame Zähler Z (Position der Seite im Speicher oder auf der Platte) Valid Bit Seite im Hauptspeicher vorhanden Modify oder Dirty Bit Von Hardware beim Schreiben einer Seite gesetzt. Spezifiziert ob der Inhalt einer Seite seit dem Laden in den Hauptspeicher geändert worden ist. Wenn Seite nicht verändert worden ist, muss die Seite nicht auf die Platte geschrieben werden (um Platz für f r andere Seiten zu schaffen). Reference (Use)) Bit Von Hardware beim Lesen oder Schreiben gesetzt Vom Betriebssystem änderbar Kann für f r Ersetzungsalgorithmen von Seiten verwendet werden. Sicherungsattribute (Protection( Protection) lesen, schreiben, ausführen 38

39 Betriebssystem Sicherungsattribute (Windows) NOACCESS: : Lesen, Schreiben oder Ausführen verursacht Access Violation (Verletzung von Zugriffsrechten). READONLY: : Schreiben oder Ausführen dieser Speicherregion verursacht Access Violation. READWRITE: : Ausführen dieser Speicherregion verursacht Access Violation. EXECUTE: : Lesen oder Schreiben dieser Speicherregion verursachen Access Violation. EXECUTE_READ: : Schreiben dieser Speicherregion verursachen Access Violation. EXECUTE_READ_WRITE: : Keine Aktion bei dieser Seite. WRITE_COPY: : Betriebssystem gibt Prozess eigene Kopie einer Seite bei einem Schreibversuch. Bei einem Versuch der Ausführung wird Access Violation verursacht. EXECUTE_WRITE_COPY: : Betriebssystem gibt Prozess eigene Kopie einer Seite bei einem Schreibversuch. Kann keine Access Violation verursachen. 39

40 Behandlung von Seitenfehlern Überprüfe, ob Adresse gültig g ist. Wenn nicht, dann terminiere diesen Prozess. Finde Frame für f r die Seite. Wenn kein Frame frei, muss der Inhalt eines Frames auf Platte ausgelagert werden. Lade Seite von der Platte Während diese Seite geladen wird, können k andere Prozesse exekutiert werden. Modifiziere Seitentabelleneintrag für f r diese Seite. Starte die Instruktion neu, die zu Seitenfehler geführt hat. Hardware beendet solche Instruktionen. Kehre zur korrekten Position ausgehend vom Trap zurück. 40

41 Seitenfehler ohne zusätzliche physikalische Seite Muss eine Seite aus Hauptspeicher entfernen. Eine dirty Seite muss zuerst auf die Platte gespeichert werden. Welche Seite soll aus Hauptspeicher entfernt werden? Brauche passenden Algorithmus globale Seite (gehört anderem Prozess) lokale Seite (gehört dem Prozess mit Seitenfehler) 41

42 Algorithmus für f r das Ersetzen von Seiten Optimale Strategie (OPT) ersetzt die Seite, deren nächste n Referenz am weitesten in der Zukunft liegt erzeugt die wenigsten-seitenfehler keine reale Strategie wird zur Bewertung anderer Strategien herangezogen 42

43 Beispiel für f r OPT (Speicher mit 3 Frames) Zugriffsmuster: 1,2,3,4,1,2,5,1,2,3,4,5 Zugriff 1 (1) nicht vorhanden Zugriff 2 (1,2) nicht vorhanden Zugriff 3 (1,2,3) nicht vorhanden 7 Seitenfehler 43

44 Algorithmus für f r das Ersetzen von Seiten FIFO Ersetze die älteste Seite im Hauptspeicher. Aufpassen: Auf alte Seiten kann häufig h zugegriffen werden. Anzahl der Seitenfehler kann ansteigen, wenn die Anzahl der Frames erhöht ht wird - Belady s Anomaly. einfache Implementierung: : Pointer, der zyklisch über die Seitenrahmen des Prozesses wandert. 45

45 Algorithmus für f r das Ersetzen von Seiten LRU (least( least-recently-used) Ersetze die Seite, die am längsten l nicht verwendet worden ist. Annahme: Seite wird auch in der Zukunft nicht referenziert (Lokalitätsprinzip) tsprinzip) Anzahl der Seitenfehler kaum höher h her als bei OPT Implementierung kann teuer sein. Verwalte Stack,, wobei jedes Stack-Element einer Seite entspricht. Seite kommt auf Top-of of-stack,, wenn diese angesprochen wird. Jede Seite bekommt Zeitstempel. 46

46 Beispiel für f r FIFO (Speicher mit 3 Frames) Zugriffsmuster: 1,2,3,4,1,2,5,1,2,3,4,5 Zugriff 1 (1) nicht vorhanden Zugriff 2 (1,2) nicht vorhanden Zugriff 3 (1,2,3) nicht vorhanden 9 Seitenfehler 47

47 Beispiel für f r FIFO (Speicher mit 4 Frames) Zugriffsmuster: 1,2,3,4,1,2,5,1,2,3,4,5 Zugriff 1 (1) nicht vorhanden Zugriff 2 (1,2) nicht vorhanden Zugriff 3 (1,2,3) nicht vorhanden 10 Seitenfehler 49

48 Beispiel für f r LRU (Speicher mit 3 Frames) Zugriffsmuster: 1,2,3,4,1,2,5,1,2,3,4,5 Zugriff 1 (1) nicht vorhanden Zugriff 2 (1,2) nicht vorhanden Zugriff 3 (1,2,3) nicht vorhanden 10 Seitenfehler 51

49 Beispiel für f r LRU (Speicher mit 4 Frames) Zugriffsmuster: 1,2,3,4,1,2,5,1,2,3,4,5 Zugriff 1 (1) nicht vorhanden Zugriff 2 (1,2) nicht vorhanden Zugriff 3 (1,2,3) nicht vorhanden 8 Seitenfehler 53

50 Algorithmus für f r das Ersetzen von Seiten Clock Policy FIFO-Variante Ringpuffer mit Frames,, die für f r Austausch in Frage kommen + Positionszeiger nach Seitenfehler: Zeiger wird auf den folgenden Frame im Ringpuffer gesetzt Use Bit pro Frame, wird auf 1 gesetzt, wenn Seite geladen oder referenziert wird bei Seitenfehler: Suche erste Seite ab Zeigerpos.. mit Use Bit = 0 Diese Seite wird ausgelagert und neue Seite auf dieser Position abgelegt. Setze dabei Use Bits mit Wert 1 auf 0 55

51 Clock Policy kaum mehr Seitenfehler als LRU wenn alle Use Bits gesetzt sind --> > FIFO 56

52 Resident Set Resident Set: : Seiten eines Prozesses, die sich im Hauptspeicher befinden Größ öße e des Resident Set: Wie viele Frames sollen dem Prozess zugeteilt werden? wenige Frames -> > viele Seitenfehler viele Frames -> > reduziere Anzahl der Prozesse im Hauptspeicher (Einschränkung nkung der Parallelität) t) Fixed Allocation Variable Allocation 57

53 Working Set und Seitenersetzung Programme haben in der Regel Lokalität t von Referenzen. temporäre re Lokalität Wiederholter Zugriff auf dieselbe Speicherposition räumliche Lokalität Zugriffe auf Speicherpositionen, die nahe beieinander liegen Design von Speicherhierarchien hängt h stark von der Lokalität t ab. Working Set Menge von Seiten definiert durch die letzten N Seitenreferenzen Approximation der Lokalität t eines Programms. Klein Sehr schnell Größ öße e des Working Sets Groß Sehr langsam 58

54 Working Set Strategie (1) Variable Allokation von Seiten für f r einen Prozess basierend auf Lokalitätsannahme tsannahme Working Set eines Prozesses zum Zeitpunkt t: W(k, t) ) = Menge der Seiten des Prozesses, auf die in den letzten k virtuellen Zeiteinheiten zugegriffen wurde t: virtuelle Zeit bezieht sich auf bestimmten Prozess k Zeitfenster (Window( of Time) W(k, t) ) beschreibt Lokalität t des Prozesses 59

55 60 Working Set Strategie (2) k

56 Working Set Strategie: ein Beispiel Seitenreferenztabelle k=10 k=10 W(k, t 1 ) = {1,2,5,6,7} t 1 W(k, t 2 ) = {3,4} t 2 schlechte Lokalität gute Lokalität Wenn der Working Set eines Prozesses mehr Seiten umfasst, als Frames zur Verfügung stehen, dann kommt es zum Trashing. 61

57 Working Set Strategie (3) Ermittlung der Größ öße e des Resident Set: Beobachtung der Working Sets der Prozesse Periodisches Löschen L der Seiten, die sich nicht im Working Set befinden Wenn Resident Set < Working Set Anfrage nach fehlenden Frames vom Betriebssystem sind nicht genügend gend Frames verfügbar, suspendiere einen Prozess und probiere Allokation später nochmals Working Set Strategie versucht Trashing zu verhindern und maximiert Grad des Multiprogrammierens. 64

58 Working Set Strategie (4) Probleme bei der Realisierung: Mitloggen der Zugriffe auf Seiten Ordnen der Seitenzugriffe optimales k ist zur Laufzeit unbekannt und variiert Verhindern von Trashing: : Beobachtung der Anzahl der Seitenfehler pro Prozess statt Working Set 65

59 Überblick: Seitenersetzungsalgorithmen 66

60 Thrashing Virtueller Speicher kann zu hohen Speicherzugriffskosten führen. f Thrashing: : Wenn ein Prozess nicht genügend gend Frames hat, kann das System die gesamte Zeit dazu verwenden, Seiten von der Platte in i den Hauptspeicher zu laden und umgekehrt. Muss versuchen, 1 oder mehrere Prozesse auszulagern (Swapping). Swapping Schreibe den gesamten Speicher eines Prozesses auf die Platte Vermeide Ausführung dieses Prozesses für f r eine Weile. Woher weiß man, wann Thrashing stattfindet? Überprüfe Auslastung der CPU und das Auslagern von Seiten (Paging). Geringe Auslastung der CPU + hohe Paging Rate bedeutet Thrashing. 67

61 Vermeiden von Thrashing Versuche den Working Set im Hauptspeicher zu halten Wenn die Anzahl der Working Sets aller Prozesse im Hauptspeicher größ ößer als die Anzahl der zur Verfügung stehenden Frames ist, muss ein Prozess ausgelagert werden. Berechung von Working Sets Abschätzung durch Use-Bit 68

62 Segmentierung (1) Segmentierung: Jeder Prozess bekommt mehrere unabhängige ngige geschützte Speicherbereiche (Segment( Segment) ) mit unterschiedlicher Länge. L Segmente enthalten Code und/oder Daten. Beim Laden des Prozesses werden seine Segmente beliebig im Speicher positioniert. 1 Segmenttabelle pro Prozess: für f r jedes Segment 1 Eintrag (Start, Länge) Zugriff auf Segment wird kontrolliert: Zugriffspriorität, t, Zugriffsrechte (Schreiben, Lesen, etc.) Überlappende und nicht-überlappende Segmente sind möglich: m Nicht-überlappende Segmente um Programmfehlern entgegenzuwirken Separater Code und Daten-Stack Stack-SegmenteSegmente 70

63 Segmentierung (2) Nicht-überlappende Segmente können k verwendet werden, um erweiterten Adressbereich zu realisieren: Verteilte Netzwerke mit mehreren 32-Bit Maschinen können k Segmentierung verwenden, um einen einheitlich großen Adressraum zu realisieren. Segmente können k identische Adressbereiche realisieren. Windows 2000 verwenden 4 Gbyte Codesegmente, Stack- Segmente und Datensegmente Mehrere Prozesse (Threads( Threads) ) können k gemeinsamen Speicher verwenden. 71

64 1-dimensionaler Adressraum 1-dim Adressraum mit wachsenden Tabellengröß ößen Tabellen wachsen ineinander 72

65 Segmentierung separate Segmente: 2-dim. 2 Adressbereich Jede Tabelle kann unabhängig ngig von anderen Tabellen wachsen und schrumpfen. 73

66 Paging versus Segmentierung 74

67 Implementierung einer konventionellen Segmentierung (a)-(d) (d) Checkerboarding (e) Bereinigung des Checkerboarding durch Verdichtung 75

68 Zusammenfassung Partitionierung des Hauptspeichers Aufteilung auf mehrere Prozesse Relocation logische Adressierung Swapping Prozess muss sich vollständig im Hauptspeicher befinden Virtual Memory logischer Speicher > physikalischer Speicher Paging,, Segmentierung Adressübersetzungstabellen und -hardware Lade- und Austauschstrategien 81

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

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

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

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

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

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

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

Mehr

Linux Paging, Caching und Swapping

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

Mehr

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

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

Virtueller Speicher. SS 2012 Grundlagen der Rechnerarchitektur Speicher 44

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

Mehr

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

Ü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

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

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

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

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

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

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

Technische Informatik 2 Speichersysteme, Teil 2

Technische Informatik 2 Speichersysteme, Teil 2 Technische Informatik 2 Speichersysteme, Teil 2 Prof. Dr. Miroslaw Malek Sommersemester 2009 www.informatik.hu-berlin.de/rok/ca Thema heute Virtueller Speicher Virtueller Seitenspeicher Seitenregister

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

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

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

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

Mehr

Systeme 1. Kapitel 3 Dateisysteme WS 2009/10 1

Systeme 1. Kapitel 3 Dateisysteme WS 2009/10 1 Systeme 1 Kapitel 3 Dateisysteme WS 2009/10 1 Letzte Vorlesung Dateisysteme Hauptaufgaben Persistente Dateisysteme (FAT, NTFS, ext3, ext4) Dateien Kleinste logische Einheit eines Dateisystems Dateitypen

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

Kapitel 9 Hauptspeicherverwaltung

Kapitel 9 Hauptspeicherverwaltung Kapitel 9 Hauptspeicherverwaltung Einführung: Speicher als Betriebsmittel Speicherkapazität wächst ständig ein PC heute hat 1000 mal soviel Speicher wie 1965 der größte Computer der Welt Anwendungsprogramme

Mehr

Grundlagen der Rechnerarchitektur

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

Mehr

Verteilte Systeme. Verteilte Systeme. 5 Prozeß-Management SS 2016

Verteilte Systeme. Verteilte Systeme. 5 Prozeß-Management SS 2016 Verteilte Systeme SS 2016 Universität Siegen rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404 Stand: 31. Mai 2016 Betriebssysteme / verteilte Systeme Verteilte Systeme (1/14) i

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

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

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

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

Praktikum Informatik 2: Betriebssysteme und Rechnernetze

Praktikum Informatik 2: Betriebssysteme und Rechnernetze Praktikum Informatik 2: Betriebssysteme und Rechnernetze Thema: 4. Speicherverwaltung Datum: 19.03.2008 vorgelegt von: Antje Stoppa Carsten Erdmann Andr é Hartwig Ulrike Saretzki Inhaltsverzeichnis 1 Motivation

Mehr

Betriebssysteme. 8. Betriebsmittelverwaltung. Lehrveranstaltung im Studienschwerpunkt Verwaltungsinformatik

Betriebssysteme. 8. Betriebsmittelverwaltung. Lehrveranstaltung im Studienschwerpunkt Verwaltungsinformatik Betriebssysteme 8. Betriebsmittelverwaltung Lehrveranstaltung im Studienschwerpunkt Verwaltungsinformatik erstellt durch: Name: Telefon: 09281 / 409-279 Fax: 09281 / 409-55279 Email: mailto: Karl.Wohlrab@fhvr-aiv.de

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

Virtuelle Speicherverwaltung

Virtuelle Speicherverwaltung Virtuelle Speicherverwaltung Konzepte von -Komponenten Lehrstuhl für Informatik 4 Verteilte Systeme und e Sommersemester 2005 Olessia Usik olessia@freenet.de 20. Juni 2005 Gliederung 1 Einleitung 2 Swapping

Mehr

Verteilte Echtzeit-Systeme

Verteilte Echtzeit-Systeme - Verteilte Echtzeit-Systeme Hans-Albrecht Schindler Wintersemester 2015/16 Teil B: Echtzeit-Betriebssysteme Abschnitt 13: Echtzeit-Primärspeicherverwaltung CSI Technische Universität Ilmenau www.tu-ilmenau.de

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

Banner T 1 T 2. Bild T 7 T 8. Fließtext T 9

Banner T 1 T 2. Bild T 7 T 8. Fließtext T 9 Name, Vorname: Matrikel-Nr.: Aufgabe 1 Wir schreiben das Jahr 2010. Ein Desktop-System mit drei identischen Prozessoren P = {P 1, P 2, P 3 } wird zur Darstellung einer Webseite verwendet. Insgesamt neun

Mehr

Prüfung VO Betriebssysteme SS2008 / 7. Juli 2008

Prüfung VO Betriebssysteme SS2008 / 7. Juli 2008 Name: Matrikel-Nr: Prüfung VO Betriebssysteme SS2008 / 7. Juli 2008 Bitte schreiben Sie leserlich und antworten Sie kurz und präzise. 1. Zeichnen Sie das Schichten-Modell eines Computersystems und markieren

Mehr

Vorlesung 14 Speichersysteme (2)

Vorlesung 14 Speichersysteme (2) D - CA - XIV - MH - 1 HUMBOLDT-UNIVERSITÄT ZU BERLIN INSTITUT FÜR INFORMATIK Vorlesung 14 Speichersysteme (2) Sommersemester 2003 Leitung: Prof. Dr. Miroslaw Malek D - CA - XIV - MH - 2 SPEICHERSYSTEME

Mehr

Betriebssysteme (BTS)

Betriebssysteme (BTS) .Vorlesung Betriebssysteme (BTS) Christian Baun cray@unix-ag.uni-kl.de Hochschule Mannheim Fakultät für Informatik Institut für Betriebssysteme..007 Organisatorisches zur Übung Verteilung auf die beiden

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

Rechnerarchitektur und Betriebssysteme (CS201): Virtual Memory

Rechnerarchitektur und Betriebssysteme (CS201): Virtual Memory Rechnerarchitektur und Betriebssysteme (CS2): Virtual Memory 19 November 23 Prof Dr Christian Tschudin Departement Mathematik und Informatik, Universität Basel Wiederholung / Diskussion 1 Was ist ein inode?

Mehr

Konzepte von Betriebssystemkomponenten (KVBK) Schwerpunkt Linux

Konzepte von Betriebssystemkomponenten (KVBK) Schwerpunkt Linux Konzepte von Betriebssystemkomponenten (KVBK) Schwerpunkt Linux Adressräume, Page Faults, Demand Paging, Copy on Write Seminar am 24.11.2003, Referent: Johannes Werner Speicherverwaltung ist bei heutigen

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

Tutorium Rechnerorganisation

Tutorium Rechnerorganisation Woche 10 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

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

183.579, WS2012 Übungsgruppen: Mo., 07.01. Do., 10.01.2013

183.579, WS2012 Übungsgruppen: Mo., 07.01. Do., 10.01.2013 VU Technische Grundlagen der Informatik Übung 7: Speicher, Peripherie 183.579, WS2012 Übungsgruppen: Mo., 07.01. Do., 10.01.2013 Aufgabe 1: Ihre Kreativität ist gefragt! Um die Qualität der Lehrveranstaltung

Mehr

Die Sicht eines Sysadmins auf DB systeme

Die Sicht eines Sysadmins auf DB systeme Die Sicht eines Sysadmins auf DB systeme Robert Meyer 21. Oktober 2016 Robert Meyer Die Sicht eines Sysadmins auf DB systeme 21. Oktober 2016 1 / 20 Inhaltsverzeichnis 1 Einleitung 2 IO unter Linux typische

Mehr

Übung 4 - Betriebssysteme I

Übung 4 - Betriebssysteme I Prof. Dr. Th. Letschert FB MNI 9. Juni 2002 Übung 4 - Betriebssysteme I Aufgabe 1 1. Erläutern Sie die Begriffe der transparent und der virtuell mit ihrer in der Informatik üblichen Bedeutung. 2. Wie werden

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

Cache. Dr.-Ing. Volkmar Sieh. Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2011

Cache. Dr.-Ing. Volkmar Sieh. Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2011 Cache Dr.-Ing. Volkmar Sieh Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2011 Cache 1/53 2012-02-29 Einleitung Hauptspeicherzugriffe sind langsam die

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

Speicherverwaltung ÜBERBLICK

Speicherverwaltung ÜBERBLICK Speicherverwaltung 3. Systeme ohne Speicherabstraktion............... 229 3.2 Speicherabstraktion: Adressräume................ 232 3.3 Virtueller Speicher................................ 24 3.4 Seitenersetzungsalgorithmen.....................

Mehr

Early first draft Höllische Programmiersprachen Seminar im WS 2014/15 Speichermanagement

Early first draft Höllische Programmiersprachen Seminar im WS 2014/15 Speichermanagement Early first draft Höllische Programmiersprachen Seminar im WS 2014/15 Speichermanagement Max Haslbeck Technische Universität München 20.01.2015 Zusammenfassung 1 Einleitung 2 Begriffsklärung Heutzutage

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

Technische Informatik 2 Software

Technische Informatik 2 Software Technische Informatik 2 Software Prof. Dr. Miroslaw Malek Sommersemester 2005 www.informatik.hu-berlin.de/rok/ca Thema heute Evolution der Software Schichten Lader (Manuell, Bootstrap, Programm im ROM)

Mehr

Vorlesung "Verteilte Systeme" Sommersemester 1999. Verteilte Systeme. Adreßraum. Rechner. Verteilte Systeme, Sommersemester 1999 Folie 19.

Vorlesung Verteilte Systeme Sommersemester 1999. Verteilte Systeme. Adreßraum. Rechner. Verteilte Systeme, Sommersemester 1999 Folie 19. Verteilte Systeme 19. Distributed Shared Memory Sharing!! No Sharing! Sharing? Evolution der Berechnungsmodelle Vergangenheit Gemeinsamer Speicher Einzelrechner Gegenwart Nachrichtenkommunikation Verteilte

Mehr

Prozesse und Scheduling

Prozesse und Scheduling Betriebssysteme für Wirtschaftsinformatiker SS04 KLAUSUR Vorbereitung mit Lösungen / Blatt 1 Prozesse und Scheduling Aufgabe 1 : Scheduling Gegeben seien die folgenden Prozesse und die Längen des jeweiligen

Mehr

Was machen wir heute? Betriebssysteme Tutorium 2. Organisatorisches. Frage 2.1.a. Theorieblätter Abgabe. Antwort. Probleme mit OS/161?

Was machen wir heute? Betriebssysteme Tutorium 2. Organisatorisches. Frage 2.1.a. Theorieblätter Abgabe. Antwort. Probleme mit OS/161? Was machen wir heute? Betriebssysteme Tutorium 2 Philipp Kirchhofer philipp.kirchhofer@student.kit.edu http://www.stud.uni-karlsruhe.de/~uxbtt/ Lehrstuhl Systemarchitektur Universität Karlsruhe (TH) 1

Mehr

4. Übung - Betriebssysteme

4. Übung - Betriebssysteme 1. ufgabe: Systemstart 4. Übung - etriebssysteme Informatik I für Verkehrsingenieure ufgaben inkl. eispiellösungen a Welche ufgabe hat das IOS und was passiert beim Starten eines Systems? b Welche ufgaben

Mehr

One of the few resources increasing faster than the speed of computer hardware is the amount of data to be processed. Bin Hu

One of the few resources increasing faster than the speed of computer hardware is the amount of data to be processed. Bin Hu Bin Hu Algorithmen und Datenstrukturen 2 Arbeitsbereich fr Algorithmen und Datenstrukturen Institut fr Computergraphik und Algorithmen Technische Universität Wien One of the few resources increasing faster

Mehr

5.6 Segmentierter virtueller Speicher

5.6 Segmentierter virtueller Speicher 5.6 Segmentierter virtueller Speicher Zur Erinnerung: Virtueller Speicher ermöglicht effiziente und komfortable Nutzung des realen Speichers; Sharing ist problematisch. Segmentierung erleichtert Sharing,

Mehr

Von der Platte zur Anwendung (Platte, Treiber, Dateisystem)

Von der Platte zur Anwendung (Platte, Treiber, Dateisystem) (Platte, Treiber, Dateisystem) 1. Einleitung 2. Dateisysteme 2.1. Logisches Dateisystem 2.2. Dateiorganisationsmodul 2.3. Basis Dateisystem 3. Festplattentreiber 3.1. Funktionsweise 3.2. Scheduling Verfahren

Mehr

CUDA. Jürgen Pröll. Multi-Core Architectures and Programming. Friedrich-Alexander-Universität Erlangen-Nürnberg Jürgen Pröll 1

CUDA. Jürgen Pröll. Multi-Core Architectures and Programming. Friedrich-Alexander-Universität Erlangen-Nürnberg Jürgen Pröll 1 CUDA Jürgen Pröll Multi-Core Architectures and Programming Jürgen Pröll 1 Image-Resize: sequentiell resize() mit bilinearer Interpolation leicht zu parallelisieren, da einzelne Punkte voneinander unabhängig

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

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

Übersicht. Virtueller Speicher CPU-Modi Virtuelle Maschinen. ISM SS 2015 - Teil 4/ProtectionI

Übersicht. Virtueller Speicher CPU-Modi Virtuelle Maschinen. ISM SS 2015 - Teil 4/ProtectionI Übersicht Virtueller Speicher CPU-Modi Virtuelle Maschinen 2 Behandelter Bereich: Virtualisierung Syscall-Schnittstelle Ports Server Apps Server Apps Betriebssystem Protokolle Betriebssystem Medien Hardware

Mehr

Realisierung: virtueller Prozessor: der reale Prozessor wird periodisch dem Programm zugewiesen Im Prozessor: durch Task-Status Segment (TSS)

Realisierung: virtueller Prozessor: der reale Prozessor wird periodisch dem Programm zugewiesen Im Prozessor: durch Task-Status Segment (TSS) 1.2 Multitasking Damit ein Computer mehrere Aufgaben gleichzeitig erledigen kann, die jede für sich oder die auch gemeinsam arbeiten, z.b. Daten lesen Berechnungen ausführen Netzwerkkontakt abarbeiten

Mehr

Virtueller Speicher. Teil 2. Prof. Dr. Margarita Esponda-Argüero WS 2011/2012. M. Esponda-Argüero

Virtueller Speicher. Teil 2. Prof. Dr. Margarita Esponda-Argüero WS 2011/2012. M. Esponda-Argüero Virtueller Speicher Teil 2 Prof. Dr. Margarita Esponda-Argüero WS 2011/2012 1 Speicherzuteilung im Kernel Speicherverwaltung für Kernel-Threads wird getrennt von der Speicherverwaltung für Benutzer-Prozesse

Mehr

Virtueller Speicher und Cache. VL5 GRT, SS 2004, Kneisel

Virtueller Speicher und Cache. VL5 GRT, SS 2004, Kneisel Virtueller Speicher und Cache VL5 GRT, SS 2004, Kneisel Speicherhierarchie Übersicht! Ausgangsproblem, Motivation! Virtueller Speicher " Paging, Adressübersetzung, Pufferung " Segmentierung Abgrenzung

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

Lösungsvorschlag zur 5. Übung

Lösungsvorschlag zur 5. Übung Prof. Frederik Armknecht Sascha Müller Daniel Mäurer Grundlagen der Informatik 3 Wintersemester 09/10 Lösungsvorschlag zur 5. Übung 1 Präsenzübungen 1.1 Schnelltest a) Welche Aussagen über Caches sind

Mehr

Betriebssysteme und Systemsoftware

Betriebssysteme und Systemsoftware Merlin Denker Version 2 1 / 18 Vorwort Dieses Dokument soll einen Überblick über verschiedene Strategien aus der an der RWTH Aachen gehaltenen Vorlesung bieten. Die vorliegende Version dieses Dokuments

Mehr

Teil VIII Von Neumann Rechner 1

Teil VIII Von Neumann Rechner 1 Teil VIII Von Neumann Rechner 1 Grundlegende Architektur Zentraleinheit: Central Processing Unit (CPU) Ausführen von Befehlen und Ablaufsteuerung Speicher: Memory Ablage von Daten und Programmen Read Only

Mehr

Physischer Datenbankentwurf: Datenspeicherung

Physischer Datenbankentwurf: Datenspeicherung Datenspeicherung.1 Physischer Datenbankentwurf: Datenspeicherung Beim Entwurf des konzeptuellen Schemas wird definiert, welche Daten benötigt werden und wie sie zusammenhängen (logische Datenbank). Beim

Mehr

20. Algorithmus der Woche Online-Algorithmen: Was ist es wert, die Zukunft zu kennen? Das Ski-Problem

20. Algorithmus der Woche Online-Algorithmen: Was ist es wert, die Zukunft zu kennen? Das Ski-Problem 20. Algorithmus der Woche Online-Algorithmen: Was ist es wert, die Zukunft zu kennen? Das Ski-Problem Autor Susanne Albers, Universität Freiburg Swen Schmelzer, Universität Freiburg In diesem Jahr möchte

Mehr

Architektur Verteilter Systeme Teil 2: Prozesse und Threads

Architektur Verteilter Systeme Teil 2: Prozesse und Threads Architektur Verteilter Systeme Teil 2: Prozesse und Threads 21.10.15 1 Übersicht Prozess Thread Scheduler Time Sharing 2 Begriff Prozess und Thread I Prozess = Sequentiell ablaufendes Programm Thread =

Mehr

Was machen wir heute? Betriebssysteme Tutorium 12. Organisatorisches. Frage 12.1.a. Programmieraufgaben Vorstellung. Antwort

Was machen wir heute? Betriebssysteme Tutorium 12. Organisatorisches. Frage 12.1.a. Programmieraufgaben Vorstellung. Antwort Was machen wir heute? Betriebssysteme Tutorium 12 1 Organisatorisches Philipp Kirchhofer philipp.kirchhofer@student.kit.edu http://www.stud.uni-karlsruhe.de/~uxbtt/ Lehrstuhl Systemarchitektur Universität

Mehr

Systemprogramme bezeichnen alle Programme, die bestimmte Aufgaben unterstützen, die unabhängig von einer konkreten Anwendung sind

Systemprogramme bezeichnen alle Programme, die bestimmte Aufgaben unterstützen, die unabhängig von einer konkreten Anwendung sind Betriebssysteme Systemprogramme bezeichnen alle Programme, die bestimmte Aufgaben unterstützen, die unabhängig von einer konkreten Anwendung sind Umfaßt z.b. auch Compiler, Interpreter und Dienstprogramme

Mehr

Betriebssysteme WS 2012/13 Peter Klingebiel, DVZ. Zusammenfassung Kapitel 4 - Datenträger/Dateiverwaltung

Betriebssysteme WS 2012/13 Peter Klingebiel, DVZ. Zusammenfassung Kapitel 4 - Datenträger/Dateiverwaltung Betriebssysteme WS 2012/13 Peter Klingebiel, DVZ Zusammenfassung Kapitel 4 - Datenträger/Dateiverwaltung Zusammenfassung Kapitel 4 Dateiverwaltung 1 Datei logisch zusammengehörende Daten i.d.r. permanent

Mehr

Systemsoftware (SYS) Fakultät für Informatik WS 2008/2009 Christian Baun. Übungsklausur

Systemsoftware (SYS) Fakultät für Informatik WS 2008/2009 Christian Baun. Übungsklausur Hochschule Mannheim Systemsoftware (SYS) Fakultät für Informatik WS 2008/2009 Christian Baun Übungsklausur Aufgabe 1: Definieren Sie den Begriff der Systemsoftware. Nennen Sie die Aufgaben und Komponenten

Mehr

Hardware Virtualisierungs Support für PikeOS

Hardware Virtualisierungs Support für PikeOS Virtualisierungs Support für PikeOS Design eines Virtual Machine Monitors auf Basis eines Mikrokernels Tobias Stumpf SYSGO AG, Am Pfaenstein 14, 55270 Klein-Winternheim HS Furtwangen, Fakultät Computer

Mehr

Grundlagen der Rechnerarchitektur. Ein und Ausgabe

Grundlagen der Rechnerarchitektur. Ein und Ausgabe Grundlagen der Rechnerarchitektur Ein und Ausgabe Übersicht Grundbegriffe Hard Disks und Flash RAM Zugriff auf IO Geräte RAID Systeme SS 2012 Grundlagen der Rechnerarchitektur Ein und Ausgabe 2 Grundbegriffe

Mehr

Speicherverwaltung. Gliederung. Speicherverwaltung. Motivation. Übersicht: 1. Einführung und Übersicht. 2. Prozesse und Threads. 3.

Speicherverwaltung. Gliederung. Speicherverwaltung. Motivation. Übersicht: 1. Einführung und Übersicht. 2. Prozesse und Threads. 3. Gliederung 1. Einführung und Übersicht 2. Prozesse und Threads 3. Interrupts Speicherverwaltung 4. Scheduling 5. Synchronisation 6. Interprozesskommunikation 7. Speicherverwaltung Speicherverwaltung Cl.

Mehr

1. Übersicht zu den Prozessorfamilien 2 2. Grundlagen der Rechnerorganisation 3

1. Übersicht zu den Prozessorfamilien 2 2. Grundlagen der Rechnerorganisation 3 1. Übersicht zu den Prozessorfamilien 2 2. Grundlagen der Rechnerorganisation 3 2.1. Aufbau eines Rechners in Ebenen 3 2.2. Die Ebene der elektronischen Bauelemente 5 2.3. Die Gatterebene 5 2.3.1 Einfache

Mehr

13. Übung mit Musterlösung

13. Übung mit Musterlösung 13. Übung mit Musterlösung 1 Lösung 1 Teil 1.Multiple Choice) Bewertung: Ein Punkt für richtige Antwort, für jede falsche Antwort ein Punktabzug. a) Für die Exponentialverteilung ist die Zeit bis zum nächsten

Mehr

Informatik I Modul 6: Betriebssysteme

Informatik I Modul 6: Betriebssysteme Informatik I Modul 6: Betriebssysteme 2012 Burkhard Stiller M6 1 Modul 7: Betriebssysteme Überblick von Betriebssystemen Auftrags- und Speicherverwaltung Einlagerung, Zuweisung, Ersetzung 2012 Burkhard

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 4 Cache el0100 copyright W.

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

Ein- Ausgabeeinheiten

Ein- Ausgabeeinheiten Kapitel 5 - Ein- Ausgabeeinheiten Seite 121 Kapitel 5 Ein- Ausgabeeinheiten Am gemeinsamen Bus einer CPU hängt neben dem Hauptspeicher die Peripherie des Rechners: d. h. sein Massenspeicher und die Ein-

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

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

Main Memory. Hauptspeicher. Memories. Speichermodule. SIMM: single inline memory module 72 Pins. DIMM: dual inline memory module 168 Pins 5 Main Memory Hauptspeicher Memories 2 Speichermodule SIMM: single inline memory module 72 Pins DIMM: dual inline memory module 68 Pins 3 Speichermodule 4 Speichermodule 5 Speichermodule 6 2 Hauptspeicher

Mehr

Beim Programmieren mit MMIX habt ihr vielleicht schon öfter eine der folgenden Fehlermeldungen von MMIXAL bekommen:

Beim Programmieren mit MMIX habt ihr vielleicht schon öfter eine der folgenden Fehlermeldungen von MMIXAL bekommen: 1 ADRESSIERUNG IN MMIX Beim Programmieren mit MMIX habt ihr vielleicht schon öfter eine der folgenden Fehlermeldungen von MMIXAL bekommen: no base address is close enough to the address A! relative address

Mehr

Klausur Betriebssystemkonzepte sowie Architektur von Rechnersystemen und Betriebssystemkonzepte

Klausur Betriebssystemkonzepte sowie Architektur von Rechnersystemen und Betriebssystemkonzepte BSK/ARBK SS-04 Oß (Fachbereich 5, Elektrotechnik und Informationstechnik) Zuname: Vorname: Matr.-Nr.: Klausur Betriebssystemkonzepte sowie Architektur von Rechnersystemen und Betriebssystemkonzepte Fach-Nummer:

Mehr

Modul 9: Betriebssysteme. Informatik I. Modul 9: Betriebssysteme. Semantische Lücke. Definition Betriebssystem. Aufgaben eines Betriebssystems

Modul 9: Betriebssysteme. Informatik I. Modul 9: Betriebssysteme. Semantische Lücke. Definition Betriebssystem. Aufgaben eines Betriebssystems Fall Term 8, Department of Informatics, IFI, UZH, Switzerland Informatik I Prof. Dr. Burkhard Stiller Communication Systems Group CSG Department of Informatics IFI, University of Zürich Binzmühlestrasse,

Mehr

Kapitel II. Computersysteme (1) Einführung: Hardware und Software. Bauteile eines einfachen PCs

Kapitel II. Computersysteme (1) Einführung: Hardware und Software. Bauteile eines einfachen PCs Kapitel II Einführung: Hardware und Software 1 Computersysteme (1) Computer haben viele verschiedene Devices: Input/Output Devices Speicher Prozessor(en) Monitor 2 Bauteile eines einfachen PCs Bus Computersysteme

Mehr

Vortrag zum Seminar Konzepte und Techniken virtueller Maschinen und Emulatoren. Bruno Kleinert fuddl@gmx.de. 20. Juni 2007

Vortrag zum Seminar Konzepte und Techniken virtueller Maschinen und Emulatoren. Bruno Kleinert fuddl@gmx.de. 20. Juni 2007 User Mode Linux (UML) Vortrag zum Seminar Konzepte und Techniken virtueller Maschinen und Emulatoren Friedrich-Alexander-Universität Erlangen-Nürnberg Bruno Kleinert fuddl@gmx.de 20. Juni 2007 Überblick

Mehr