Speicherverwaltung Memory Management

Größe: px
Ab Seite anzeigen:

Download "Speicherverwaltung Memory Management"

Transkript

1 Speicherverwaltung Memory Management Betriebssysteme VO WS 2008/2009 IAIK 1

2 Parkinsons Gesetz Data expands to fill the space available for storage eigentlich ursprünglich: WORK EXPANDS SO AS TO FILL THE TIME AVAILABLE FOR ITS COMPLETION IAIK 2

3 Der Traum Speicher: unendlich groß unendlich schnell nicht flüchtig und billig auch noch IAIK 3

4 Speicherhierarchie langsamer, billiger, nicht flüchtiger Massenspeicher, Gigabyte mittelschneller, flüchtiger, Hauptspeicher, Megabyte schneller, teurer, flüchtiger Cache, Kilobyte IAIK 4

5 Verwaltung Memory-Manager Speicherverwaltung verfolgt Benutzung teilt Speicher zu gibt Speicher frei lagert Speicher aus IAIK 5

6 Speicherverwaltungsysteme historische Systeme auch noch wichtig, da oft in embedded systems oder PDA s eingesetzt 2 Klassen verschiebt Prozesse zwischen Speicher und Platte (Swapping, Paging) verschiebt nichts IAIK 6

7 Wenn Verschieben zwischen Speicher und Platte nur notwendig, weil zuwenig Speicher da Bei genügend Speicher kein Problem mehr! aber Parkinson! IAIK 7

8 Früher 1981 Mit 1.Juli 1981 wurde der Werkvertrag aufgestockt, sodaß ein zusätzlicher Diskbereich mit 243 MB zur Verfügung steht. Der Anteil am Zentralspeicher wurde um Worte (a 36 bit) erhöht. Darüberhinaus wurden Modems mit einer Übertragungsrate von 600 Baud bzw Baud angeschafft Der Werkvertrag mit dem RZG wurde aufgestockt. Das EDV-Konzept 82 schlug eine Bedarfsabdeckung durch ein Netz regional verteilter Versorgungsschwerpunkte vor, um eine auf die jeweiligen Benutzergruppen abgestimmte EDV-Dienstleistung zu erbringen. Neu waren der Bereichsrechner "Universitätskliniken": VAX 11/750 (3 MB Zentralspeicher, 456 MB Festplatte) und der Bereichsrechner "Attemsgasse": VAX 11/750 (4 MB Zentralspeicher, 912 MB Festplatte, 205 MB Wechselplatte). aus: tml IAIK 8

9 Monoprogrammierung nur ein Programm aktiv Aufteilung Programm - Betriebssystem Mainframes, Minicomputer nicht mehr verwendet embedded Systems Palmtops MS-DOS IAIK 9

10 Multiprogramming feste Partitionen Aufteilung in n Partitionen gleich groß verschieden groß Beispielsweise bei Systemstart eingestellt Warteschlangen globale mehrere IAIK 10

11 Multiprogramming feste Partitionen generell: ungenutzter Platz verloren große Partition für kleinen Auftrag verwenden schlecht Partition lange ungenutzt lassen schlecht? ungenutzt IAIK 11

12 Multiprogramming feste Partitionen nur eine Schlange passende Partition auswählen eventuell Warteschlange nach passendstem Auftrag (verhungern!) IBM OS-360 MFT IAIK 12

13 Modellierung Multiprogramming verbessert Ausnutzung der CPU aber wie? 5 Prozesse die 20% der Zeit die CPU brauchen 100% Auslastung? Zu vereinfachend IAIK 13

14 Modellierung probabilistischer Standpunkt besser Anteil Warten auf I/O sei p Wahrscheinlichkeit, dass alle warten: p n Auslastung der CPU A = 1 - p n IAIK 14

15 Modellierung 90% Degree of multiprogramming IAIK 15

16 Modellierung Modell ist immer noch vereinfachend Prozesse sind selten völlig unabhängig Warteschlangentheorie IAIK 16

17 Modellierung Ist das Modell einsetzbar? 32 MB Hauptspeicher (16 BS, 16 Prozesse a 1 MB). Ausbau um 16 MB. Gewinn? ursprünglich Auslastung 60% danach 83% (+38%) weitere 16MB: 93% (+12%) IAIK 17

18 Relokation/Speicherschutz Programm muss an verschiedenen Adressen laufen können! Linker muss wissen, welche Speicheradressen Programm verwenden wird IAIK 18

19 Relokation beim Laden Beim Laden von der Platte Adressen anpassen Linker muss Info verfügbar machen, welche Wörter im Programm Adressen sind IAIK 19

20 Speicherschutz Problem: Absolute Adressen! Jedes Programm kann jede Speicherzelle referenzieren. Keine gute Idee Lösung: Basis/Limitregister IAIK 20

21 Basis/Limitregister Basisregister rel. Adresse + Programm Limitregister Interrupt! zum Speicher! IAIK 21

22 Swapping bei Batchsystemen bleibt Prozess im Memory bis er fertig ist Timesharing: manchmal nicht genug Speicher inaktive Prozesse auslagern (auf Festplatte speichern) und bei Bedarf dynamisch zurückholen zwei Ansätze: swapping und virtueller Speicher IAIK 22

23 Swapping IAIK 23

24 Swapping Unterschied zu festen Partitionen: Anzahl dynamisch Größe dynamisch Ort dynamisch Verbessert Speicherausnutzung Macht Zuteilung und Verwaltung komplizierter IAIK 24

25 Compaction Dynamische Partitionen es entstehen Löcher können klein sein nicht nutzbar Speicherverdichtung nötig vermieden da zu teuer (Sekundenbereich) IAIK 25

26 Wieviel Speicher? Programm fest Größe: einfach Aber: object.create( ) oder malloc dynamischer Speicher nötig wenn daneben noch Platz, Adressraum vergrößern sonst Prozess verschieben vorbeugend mehr Speicher! IAIK 26

27 Dynamischer Speicher IAIK 27

28 Speicherverwaltung dynamische Zuteilung Verwaltung zwei Möglichkeiten Bitmaps Problem: Suche n freie Blöcke free lists IAIK 28

29 verkettete Listen hier nach Adressen sortiert Prozess hat normalerweise 2 Nachbarn bei Terminieren vier Möglichkeiten IAIK 29

30 Terminieren von X IAIK 30

31 Speicherzuordnungsalgorithmen First Fit durchsuche Liste, bis ein Loch groß genug Loch in zwei Teile teilen: eins für den Prozess, eins Loch IAIK 31

32 Speicherzuordnungsalgorithmen Next Fit wie First Fit, nur beginnt dort wo er beim letzten mal geendet hat IAIK 32

33 Best Fit Durchsucht die Liste nach dem kleinsten, passenden Loch langsamer als First Fit verschwendet auch mehr Speicher! da viele kleine, nutzlose Löcher entstehen! IAIK 33

34 Worst Fit wählt immer das größte Loch ist aber auch nicht gerade gut IAIK 34

35 Beschleunigung getrennte Listen für Prozesse und Löcher schnelle Zuteilung komplexere, langsamere Freigabe Löcherliste nach Größe sortieren erstes Loch das passt ist optimal Bestfit und Firstfit gleich schnell NextFit sinnlos Löcher als Speicher für Verwaltung der Löcher! IAIK 35

36 Overlays Programm zu groß für Speicher Programm in Teile aufteilen (Overlays) Management durch BS, Aufteilung durch Programmierer Overlays dürfen keine Abhängigkeiten haben! Overlay 2 Overlay 1 IAIK 36

37 Virtueller Speicher Aufteilung bzw Ein- und Auslagern durch Betriebssystem Virtueller Speicher nicht gesamtes Programm im Speicher Multiprogramming: von allen Programmen nur Teile im Speicher IAIK 37

38 Adressierung Programme referenzieren Adressen Bsp: MOV REG,1000 Inhalt der Adresse 1000 ins Register REG physische Adresse: Adresse wird auf Speicherbus gelegt virtuelle Adresse Adresse wird von MMU (Memory Management Unit) transformiert IAIK 38

39 MMU Teil des CPU-Chips früher getrennt IAIK 39

40 Virtuelle Adressen / Paging virtueller Adressraum in Seiten (pages) unterteilt physischer Speicher in Seitenrahmen (page frames) page size typisch 512 Byte bis 64KB IAIK 40

41 Umsetzung MOV REG,0 0 an MMU Seite: 0 page frame auf Speicherbus IAIK 41

42 Umsetzung page mit X nicht im Speicher (normalerweise present/absent bit) Zugriff auf abwesende Seite? MMU stellt das fest page fault (Seitenfehler) IAIK 42

43 Page fault - Seitenfehler Wenig benutzten Frame suchen Inhalt sichern Seite die pagefault ausgelöst hat in Frame laden Abbildungstabelle anpassen Befehl noch einmal ausführen IAIK 43

44 Innenleben MMU IAIK 44

45 MMU Seitennummer als Index in Seitentabelle present-bit 0: Seitenfehler sonst Framenummer kopieren Offset unverändert übernehmen IAIK 45

46 Seitentabellen / page tables Aufteilung der virtuellen Adresse an sich beliebig verschiedene Aufteilungen ergeben verschiedene Seitengrößen pagetable bildet virtuelle Seiten auf Frames ab IAIK 46

47 Probleme Größe der Pagetable Geschwindigkeit der Umrechnung IAIK 47

48 Größe der Pagetable Seitengröße 4KB 32-Bit-Adressraum: eine Million Seiten Pagetablegröße? Offset: 12 Bit, framenumber: 20 Bit typisch 4 Byte pro Eintrag 4 MB! 64-Bit-Adressraum - IAIK 48

49 Geschwindigkeit Typischer Befehl: ein Befehlswort und meist einen oder mehrere Operanden im Memory mehrere Speicherzugriffe ADD R1,R2 ADD R1,M[1000] 1 Zugriff 2 Zugriffe Umrechnung muss schnell sein, sonst ist sie der Engpass IAIK 49

50 einfache Seitentabelle pagetable: Reihe schneller HW-Register Bei Prozess-Start, Seitentabelle in Register laden danach keine Speicherzugriffe Vorteil: einfach Nachteil: für große Tabellen teuer Nachladen bei contextswitch aufwändig IAIK 50

51 Seitentabelle im Memory Register zeigt auf Startadresse Austausch bei Kontextwechsel einfach Register neu laden Nachteil: sehr viele Speicherzugriffe IAIK 51

52 Mehrstufige Seitentabellen Seitentabellen zu groß man möchte Seitentabellen nicht im Memory halten Seitentabellen ins VM legen (oder zweistufige Seitentabellen) PT1 10 Bit PT2 10 Bit Offset 12 Bit IAIK 52

53 Mehrstufige Seitentabellen Nicht mehr alle Seitentabellen gleichzeitig im Speicher besonders die, die nicht gebraucht werden IAIK 53

54 Beispiel Prozess belegt 12 MB Speicher 4 Programmcode 4 Daten 4 Stack 4096 Byte Pagesize 4 Byte PTE (Page Table Entry) 4MB pro Seite der Pagetable Nur vier Seitentabellen! IAIK 54

55 Seitentabelleneintrag page table entry (PTE) maschinenabhängig IAIK 55

56 Seitentabelleneintrag pageframe-number present-bit protection entweder 0: read, 1: read/write oder zusätzliches Bit für execute Modified/Referenced: protokollieren Zugriffe modified oft dirty bit Caching-Bit für Memory-based I/O dort wichtig, caching abzuschalten im PTE nur Infos, die von HW benötigt werden Infos über Auslagerung auf Platte anderswo IAIK 56

57 Problem Seitentabellen meist im Speicher Leistungshemmend Beispiel: LD R1,#1 ohne Paging: ein Speicherzugriff mit Paging: ein Zugriff auf Pagetable dazu mehrstufiges paging: noch ein Zugriff 2/3 Leistungseinbruch IAIK 57

58 Lokalitätsprinzip Lokalitätsprinzip Programme neigen dazu, viele Zugriffe auf wenige Seiten zu machen Schleifen im Programmcode Arrays häufig verwendeter Code IAIK 58

59 Lösung TLB - Translation Lookaside Buffer (Assoziativspeicher) Teil der MMU, einige wenige Einträge (selten mehr als 64) Felder aus PTE übernommen IAIK 59

60 TLB - Funktionsweise Virtuelle Adresse an MMU Hardware prüft ob Eintrag in TLB Seitennummer mit allen Einträgen gleichzeitig vergleichen passender Eintrag und Schutz nicht verletzt: Framenummer verwenden Schutz verletzt: Schutzfehler IAIK 60

61 TLB - Funktionsweise Was, wenn kein passender Eintrag? Eintrag aus Pagetable holen und in TLB schreiben anderer Eintrag in TLB ersetzt dessen modified-bit in pagetable sichern alle Felder des PTE in TLB! IAIK 61

62 Verwaltung durch SW Früher: jede Maschine mit virtuellem Speicher und Paging hatte Seitentabellen, die von HW verwaltet werden TLB Systemaufrufe nur bei Seitenfehlern IAIK 62

63 Verwaltung durch SW Viele RISC-Prozessoren (SPARC, MIPS, Alpha ): fast gesamte Speicherverwaltung in Software TLB-Einträge durch BS geladen PTE nicht in TLB MMU erzeugt TLB-Fehler Behandlung duch Betriebssystem und das möglichst schnell IAIK 63

64 Verwaltung durch SW SW-Verwaltung einigermaßen effizient wenn TLB groß genug reduziert Fehlerrate Vorteil: MMU einfacher, mehr Platz für Cache und anderes Problem: bei der Behandlung von TLB- Fehlern in SW können weitere TLB- Fehler auftreten Lösung: großer SW-Cache, dessen PTE s immer im TLB bleiben, dort suchen IAIK 64

65 große Pagetables 64-Bit Computer: bei 4KB pagesize pagetable: 2 52 Einträge 8 Byte pro Eintrag 30 Millionen Gigabyte das geht wohl nicht andere Lösung gefragt IAIK 65

66 Invertierte Seitentabelle ein Eintrag pro Frame! Tabellengröße abhängig vom physischen Speicher 64 Bit Adressraum 256MB Hauptspeicher Einträge Pro Frame: (Prozess, Seitennummer) IAIK 66

67 Invertierte Seitentabelle sparen Speicherplatz wenn virtuelle Adressraum größer als physischer Speicher Nachteil: Aufwand der Abbildung höher virtuelle Seitennummer nicht als Index verwendbar Suche nach (p,n) nötig für jeden Speicherzugriff! IAIK 67

68 Invertierte Seitentabelle Lösung: TLB! alle vielbenutzten Seiten im TLB: Umrechnung genauso schnell TLB-Fehler: invertierte Tabelle per SW durchsucht werden virtuelle Adresse als Hash-Wert zur Beschleunigung der Suche IAIK 68

69 Invertierte Seitentabelle IAIK 69

70 Seitenersetzungsalgorithmen Seitenfehler welche Seite muss raus? wenn die zu ersetzende Seite modifiziert wurde: auf Festplatte zurückschreiben falls Programmcode: zurückschreiben nicht nötig nun aber: welche Seite IAIK 70

71 Seitenersetzungsalgorithmen zufällige Seite? besser Seiten, die nur selten benutzt werden vielbenutzte müssten bald wieder eingelagert werden ähnliches Problem auch bei Caches (Memory oder Webserver) IAIK 71

72 optimal leicht zu beschreiben, schwer zu implementieren markiere alle Seiten mit der Anzahl der Befehle, die bis zum nächsten Zugriff auf diese Seite ausgeführt werden entferne die Seite mit der höchsten Zahl nur leider zum Vergleich geeignet IAIK 72

73 Not Recently Used wenn wir schon nicht in die Zukunft schauen können können wir aus der Vergangenheit lernen? wenn eine Seite in der letzten Zeit nicht verwendet wurde wird sie vielleicht auch in der nächsten Zeit nicht gebraucht IAIK 73

74 Not Recently Used Statusbits: R M werden von der Hardware gesetzt und bei jedem Speicherzugriff aktualisiert bleibt auf 1 bis von BS zurückgesetzt R M IAIK 74

75 Not Recently Used was, wenn die HW das nicht kann? Alle PTE auf ausgelagert markieren erster Zugriff auf die Seite erzeugt Seitenfehler BS setzt R-Bit, Schutz auf read-only, führt Befehl noch einmal aus Schreibzugriff: weiterer Seitenfehler, M-Bit und r/w setzen IAIK 75

76 Not Recently Used Prozess gestartet, alle M und R- Bits auf 0 regelmäßig: alle R-bits löschen nur bei kürzlich referenzierten Seiten ist R-Bit gesetzt IAIK 76

77 Not Recently Used Seitenfehler tritt auf Einteilung der Seiten in vier Kategorien Klasse 0: nicht ref., nicht modif. Klasse 1: nicht ref., modif. Klasse 2: ref., nicht modif. Klasse 3: referenziert und modifiziert NRU entfernt eine zufällige Seite aus der niedrigsten nicht leeren Klasse Leistung nicht optimal, aber oft ausreichend IAIK 77

78 FIFO Liste aller Seiten am Kopf die älteste Seite Seitenfehler: entferne Seite am Kopf der Liste neue Seite am Ende anhängen kann genau die falschen Seiten rauswerfen selten unverändert eingesetzt IAIK 78

79 Second Chance Variante von FIFO R-Bit gelöscht: seite wählen R-Bit gesetzt: R-Bit löschen und Seite ans Ende der Liste hängen sucht nach einer möglichst alten Seite, auf die im letzten Intervall nicht zugegriffen wurde Im Grenzfall (alle R-Bits gesetzt) FIFO IAIK 79

80 Second Chance IAIK 80

81 Clock alle Seiten in einer ringförmigen Liste Zeiger auf älteste Seitenfehler: nimm Seite auf die Zeiger zeigt Alternativ: R-Bit berücksichtigen Second Chance IAIK 81

82 Least Recently Used wenn wir schon nicht in die Zukunft schauen können können wir aus der Vergangenheit lernen? wenn eine Seite sehr lange nicht mehr verwendet wurde wird sie vielleicht auch in der nächsten Zeit nicht gebraucht IAIK 82

83 Least Recently Used (LRU) realisierbar, aber nicht billig verkettete Liste aller Seiten bei jedem Zugriff aktualisiert Approximationen IAIK 83

84 Approximation 1 64-Bit Zähler nach jedem Maschinenbefehl erhöht PTE: Feld für Zähler Speicherzugriff: speichert Zähler in PTE Seitenfehler: Liste nach niedrigstem Zähler durchsuchen IAIK 84

85 Approximation 2 Matrix aus n*m Bits, anfangs 0 Zugriff auf Seite k: Bits der Zeile k auf 1, Bits der Spalte k auf 0 die Zeile mit dem niedrigsten Binärwert ist die am längsten nicht benutzte IAIK 85

86 LRU durch Software LRU ohne Hardware nicht realisierbar Hardware kaum vorhanden Softwarelösung: NFU Not Frequently Used Zähler pro Seite Timerinterrupt erhöht den Zähler um R-Bit IAIK 86

87 NFU Problem: vergisst nix. Oft verwendete Seiten bleiben erhalten auch wenn nicht mehr benötigt Modifikation: vor Addition Rechtsverschiebung R-Bit beim höchstwertigen Bit addieren IAIK 87

88 Aging IAIK 88

89 Aging versus LRU Unterscheidung innerhalb eines Intervalls nicht möglich endliche Anzahl von Bits, wenn Zähler 0 dann nicht unterscheidbar ob vor 9 oder vor 1000 Intervallen 8 bits reichen bei 20msec meist aus IAIK 89

90 Demand Paging Starten eines Prozesses wie viele Seiten soll der bekommen? Eine Strategie: Demand Paging (Einlagern bei Bedarf) Starten mit 0 Seiten im Hauptspeicher IAIK 90

91 Demand Paging Laden des Befehlscodes des ersten Befehls page fault Weitere Seitenfehler für Stack und Datenbereich Nach einiger Zeit: alle Seiten eingelagert, die Prozess benötigt Lokalitätsprinzip macht das machbar! IAIK 91

92 Working Set Menge der Seiten, die ein Prozess zu einem bestimmten Zeitpunkt benötigt Working Set im Speicher keine pagefaults Verfügbarer Speicher kleiner als working set viele pagefaults Thrashing (system lagert fast nur mehr ein/aus) IAIK 92

93 Swapping Prozesse auslagern normalerweise auf Festplatte Oft eigene Partition oder nur große Datei Idealerweise kontinuierlich auf der Platte Geschwindigkeit Auslagern: Nur Daten mit dirty=1 Programmcode von executable file einlagern IAIK 93

94 Swapping Wie gehen wir vor wenn Prozess wieder eingelagert wird? Eigentlich brauchen wir nichts tun pagefaults bis working set eingelagert Kostet aber CPU-Zeit für die Behandlung der pagefaults IAIK 94

95 Working-Set-Modell BS merkt sich das working set eines Prozesses Working set wird vor weiterer Ausführung des Prozesses wieder geladen prepaging IAIK 95

96 Überlegungen zum ws Speicherzugriffe über Adressraum nicht gleich verteilt konzentrieren sich auf einige wenige w(k,t) Menge der Seiten die in den letzten k Speicherzugriffen vor dem Zeitpunkt t referenziert wurden Monoton steigende Funktion IAIK 96

97 workingset IAIK 97

98 Überlegungen zum ws Arbeitsbereich eines Prozesses ändert sich nur langsam Seiten die Prozess nach Einlagern braucht zt vorhersehbar prepaging funktioniert IAIK 98

99 Implementierung WS BS muss wissen, welche Seiten im working set liegen. Seitenersetzungsalgorithmus: bei pagefault finde Seite die nicht im working set, und lagere sie aus. wann ist aber eine Seite nicht im working set? IAIK 99

100 working set w(k,t) Menge der Seiten die in den letzten k Speicherzugriffen vor dem Zeitpunkt t referenziert wurden Aber wie implementieren? Schieberegister, bei jedem Speicherzugriff Seitennummer reinschieben? nicht effizient Annäherungen möglich statt letzte k letzte m msec IAIK 100

101 Approximation working-set-zeit relative Prozesszeit 100 msec absolut, aber nur 20 msec für Prozess virtuelle Zeit! workingset: die Menge der Seiten, auf die der Prozess in den letzten τ msec virtueller Zeit zugegriffen hat IAIK 101

102 Approximation Hardware muss R/M setzen periodisch: R bits gelöscht bei Seitenfehler alle PTE s durchsuchen R-Bit == 1? aktuelle virtuelle Zeit in Feld für Zeit des letzten Zugriffs eintragen Seite liegt im Arbeitsbereich IAIK 102

103 Approximation R-Bit == 0 Seite seit letzter Unterbrechung nicht verwendet Kandidat für Auslagerung Alter bestimmen: gespeicherte Zeit aktueller virtueller Zeit zu alt: aus workingset nehmen zu jung : meist verschonen. Nur wenn alle Seiten im Arbeitsbereich, älteste auslagern Rest der Tabelle durchlaufen um Zugriffszeiten zu aktualisieren Alle R-Bits = 1? Pech. Irgendeine nehmen IAIK 103

104 Approximation IAIK 104

105 WSClock einfacher Algorithmus umständlich durchläuft pagetable bei jedem pagefault bis Kandidat gefunden Kombination aus Clock und Workingset: WSClock in realen Systemen weit verbreitet Wie Clock ringförmige Liste IAIK 105

106 WSClock IAIK 106

107 WSClock Untersuche Seite auf die Zeiger zeigt R=1 kein idealer Kandidat R 0 Zeiger vorrücken continue IAIK 107

108 WSCLock R=0 Alter > T nicht im Workingset M=0 Seite kann freigegeben werden M=1 vormerken, dass Seite auf Platte geschrieben werden muss. Aber weitersuchen, um Prozesswechsel zu vermeiden IAIK 108

109 WSCLock Wieder am Anfang? es wurde eine Seite vorgemerkt weiterlaufen, irgendwann wird vorgemerkte im Hintergrund zurückgeschrieben es wurde keine Seite vorgemerkt alle Seiten im Arbeitsbereich irgendeine Seite auslagern (am besten irgendeine saubere Seite merken, dann gibt s die jetzt schon). IAIK 109

110 Zusammenfassung IAIK 110

111 Modellierung FIFO neueste Seite älteste Seite PPPPPPP PP IAIK 111

112 Keller-Algorithmen Jeder Prozess erzeugt Folge von Speicherzugriffen auf virtuelle Seiten Speicherzugriffe als Liste von Seitennummern darstellbar Referenzkette reference string IAIK Modellierung FIFO neueste Seite älteste Seite P P P P P P P P P IAIK 112

113 Annahmen ein Rechner ein Prozess eine deterministische Referenzkette pro Rechner Paging-System charakterisiert durch Seitenersetzungsalgorithmus Anzahl m der physischen Seitenrahmen Referenzkette des Prozesses IAIK 113

114 Simulation über Interpreter enthält interne Tabelle M repräsentiert Zustand des Speichers M hat n Einträge, einen pro virtuelle Seite des Prozesses M hat zwei Teile oberer Teil, m Einträge: Seiten, die im Speicher liegen unterer Teil, n-m Einträge: Seiten, die ausgelagert wurden M zu Beginn leer IAIK 114

115 Prozess-Start Prozess gibt Seiten seiner Referenzkette aus. Interpreter prüft, ob Seite im Speicher. Wenn nicht Seitenfehler. falls leerer Seitenrahmen vorhanden: dort laden (nur zu Beginn möglich) IAIK 115

116 Speicher voll voll: oberer Teil von M enthält m Einträge Seitenersetzungsalgorithmus aufrufen, entfernt Seite aus Speicher verschieben in unteren Teil neue Seite laden oder von unteren in oberen verschieben IAIK 116

117 IAIK 117 Beispiel P P P P P P P P P P P

118 Modellierung FIFO neueste Seite älteste Seite PPPPPPP PP IAIK 118

119 FIFO 4 Frames P P P P P P P P P P IAIK 119

120 Algorithmen Algorithmen mit der Eigenschaft M ( m, r) M ( m + 1, r) sind besonders interessant nach r Speicherzugriffen ist der obere Teil von M für einen Speicher von m Seiten Teilmenge des oberen Teils von M Speichers von m+1 Seiten IAIK 120

121 Kelleralgorithmen stack-algorithms Algorithmen mit der Eigenschaft M ( m, r) M ( m + 1, r) heißen Kelleralgorithmen. LRU ist ein Kelleralgorithmus FIFO nicht Keller-Algorithmen sind nicht für Beladys Anomalie anfällig IAIK 121

122 Distanzkette Repräsentation der Referenzkette in abstrakterer Form zur Evaluierung der Verfahren Seitenbezeichnung durch Abstand der Seite vom oberen Ende des Stack Seiten, auf die noch nicht zugegriffen wurde: Abstand IAIK 122

123 IAIK 123 Distanzkette

124 Distanzkette hängt ab von Referenzkette Seitenersetzungsalgorithmus statistische Eigenschaften der Distanzkette beeinflussen Leistungsfähigkeit des Algorithmus IAIK 124

125 Distanzkette wenige Seitenfehler bei k Seitenrahmen Pech gehabt keine Anzahl an Frames passt (außer n) IAIK 125

126 Seitenfehlerrate vorhersagen mit Hilfe der Distanzkette möglich Ziel: einmal Distanzkette durchlaufen und mit den gesammelten Infos vorhersagen, wie viele Seitenfehler bei k Frames vorkommen (k=1 n) IAIK 126

127 Algorithmus durchläuft Distanzkette zählt Abstände C 1 4 C 2 3 C 3 3 C 4 3 C 5 2 C 6 1 C 8 IAIK 127

128 Algorithmus F m = n C k = m+ 1 k + C F m = Anzahl der Seitenfehler für gegebene Distanzkette und m Seitenrahmen C 1 4 C 2 3 C 3 3 C 4 3 C 5 2 C 6 1 C 8 F 1 20 F 2 17 F 3 14 F 4 11 F 5 9 F 6 8 F 8 IAIK 128

129 Design-Kriterien Bisher: Mechanik wie funktioniert Paging welche Algorithmen für Seitenersetzung gibt es wie modelliert man diese reicht nicht jetzt: was ist für ein leistungsstarkes System nötig? IAIK 129

130 Lokal Global? A erzeugt pagefault Welche Seiten für Ersetzung in Betracht ziehen? Nur die von A lokale Strategie? Alle globale Strategie? IAIK 130

131 Lokal - Global lokal: fester Speicherbereich pro Prozess global: dynamische Verteilung, Anzahl der Frames eines Prozesses variabel IAIK 131

132 Lokal - Global Im Allgemeinen: global Strategien besser besonders wenn sich die Größe des Workingset ändert Speicherbedarf wächst thrashing (obwohl Seiten woanders verfügbar) Speicherbedarf schrumpft Seiten verschwendet IAIK 132

133 Lokal - Global manche Seitenersetzungsalgorithmen für lokale und globale Strategien anwendbar (FIFO, LRU) andere nicht (Workingset, WSClock) IAIK 133

134 Global Globale Strategie entscheidet ständig über die Anzahl der Seitenrahmen Möglichkeiten: Aging-Bits eventuell zu grob Frames zu gleichen Teilen auf alle Prozesse (regelmäßig anpassen) nicht sinnvoll, wenn Prozesse unterschiedlich groß IAIK 134

135 Global Im Verhältnis zur Prozessgröße? Minimum kann notwendig sein (Befehl könnte bis zu 6 Seiten im Speicher benötigen) Starten mit Seitenzahl im Verhältnis zur Größe, danach dynamische Anpassung IAIK 135

136 PFF-Algorithmus Page-Fault-Frequency Algorithmus bestimmt nur, wie viel Speicher ein Prozess bekommt Pagefault-Rate indirekt-proportional zur Speichergröße IAIK 136

137 PFF-Algorithmus IAIK 137

138 PFF-Algorithmus zu hohe Seitenfehlerrate: mehr Speicher zuteilen zu niedrige Seitenfehlerrate: Speicher wegnehmen IAIK 138

139 Laststeuerung wenn working-set aller Prozesse größer als Hauptspeicher - es wird immer zu viele Seitenfehler geben! PFF-Algorithmus könnte das anzeigen: mehrere zu wenig, keiner zu viel Lösung: Prozesse auslagern IAIK 139

140 Laststeuerung Wenn danach die Fehlerrate sinkt ok sonst: noch einen auslagern bis sich Erfolg einstellt Swapping also auch bei pagingsystemen sinnvoll! Kann auch wichtig sein, welche Prozesse man auslagert IAIK 140

141 Seitengröße Oft einstellbarer Parameter keine optimale Lösung große Seiten mehr interne Fragmentierung: wieviele Bytes bleiben in Seitenrahmen ungenutzt? kleine Seiten: viele Seiten, große Seitentabellen, mehr Verwaltung, Transfer kleiner Seiten dauert fast gleich lange wie großer Seiten IAIK 141

142 Seitengröße Platzverbrauch kann mathematisch analysiert werden Durchschnittliche Prozessgröße s Seitengröße p, PTE e Bytes, s/p-seiten Speicherverbrauch für Seitentabelle und Fragmentierung V=se/p+p/2 Optimum wenn -se/p 2 +1/2 = 0 p = 2se IAIK 142

143 Seitengröße s=1mb e=8 Byte optimale Seitengröße 4KB übliche Seitengrößen heute 4 oder 8 KB IAIK 143

144 getrennte Programm- und Datenbereiche IAIK 144

145 Gemeinsame Seiten shared pages mehrere Benutzer benutzen das gleiche Programm Effizienter, Seiten gemeinsam zu nutzen geht aber nur für Code, nicht für Daten! IAIK 145

146 Gemeinsame Seiten getrennte Adressräume für Code und Daten gemeinsamen Adressraum für Code, getrennten für Daten IAIK 146

147 Gemeinsame Seiten Betriebssystem muss gemeinsame Seiten berücksichtigen Auslagern von einem Prozess zweiter Prozess lagert wieder alle ein? Beenden eines Prozesses Seiten müssen eventuell erhalten bleiben IAIK 147

148 Gemeinsame Seiten Daten gemeinsam zu benutzen etwas komplizierter zb nach UNIX-fork Beide lesen: kein Problem Schreiben: Seiten auf R/O setzen Schreibzugriff: Seite kopieren jeder Prozess eigene Kopie und auf R/W setzen copy-on-write Seiten die nie beschrieben werden, müssen nicht kopiert werden IAIK 148

149 Freigabe-Strategien Paging funktioniert am besten wenn genügend Seitenrahmen frei Wenn alle Pageframes voll sind und einer gebraucht wird unangenehm. Eventuell muss freizumachende Seite noch zurückgeschrieben werden. Das dauert! IAIK 149

150 Freigabe-Strategien Daher: Vorbeugen Paging-Daemon meist inaktiv wacht regelmäßig auf und prüft Speicherzustand nicht genug freie Rahmen wählt Seiten aus und beginnt sie auszulagern IAIK 150

151 Paging-Daemon Inhalt der Seiten bleibt erhalten falls doch noch benötigt, ist nichts verloren Bei einem Pagefault ist dann immer ein freier Rahmen verfügbar Performancesteigerung IAIK 151

152 Implementierungsprobleme Auswahl der Strategien ist eine Sache praktische Probleme bei der Implementierung eine andere IAIK 152

153 Betriebssystemaufgaben bei Paging vier Punkte wo das BS Arbeit leisten muss Erzeugung des Prozesses Ausführung des Prozesses Seitenfehler Terminierung des Prozesses IAIK 153

154 Erzeugung des Prozesses Größe des Programmcodes und der Daten feststellen Seitentabelle für Prozess erzeugen Speicher zuteilen und initialisieren Platz für ausgelagerte Seiten auf der Platte reservieren ev. Swapping-Bereich mit Code und Daten initialisieren IAIK 154

155 Ausführung des Prozesses MMU auf neuen Prozess einstellen TLB leeren aktuelle Seitentabelle auf Tabelle des Neuen Prozesses setzen eventuell prepaging IAIK 155

156 Seitenfehler Hardware-Register auslesen um festzustellen, welche Adresse Fehler verursacht hat finden der benötigten Seite freien Seitenrahmen suchen eventuell alte Seite auslagern neue Seite einlesen Programmzähler auf Befehl zurücksetzen, der den Seitenfehler verursacht hat IAIK 156

157 Terminierung des Prozesses Seitentabelle, Seitenrahmen und Plattenplatz freigeben gemeinsam benutzte nur, wenn der letzte Prozess terminiert IAIK 157

158 Behandlung von Seitenfehlern 1. Hardware PC Stack, Sprung in Kernel 2. Interrupt-Serviceroutine sichern von Registern und anderer Informationen 3. OS welche virtuelle Adresse hat Fehler ausgelöst? HW-Register, oder Befehl interpretieren! IAIK 158

159 Behandlung von Seitenfehlern 4. Prüfen der Adresse auf Gültigkeit Schutzverletzung Abbruch sonst: freien Seitenrahmen finden. keiner da? Ersetzungsalgorithmus starten. 5. Seitenrahmen modifiziert Seite auf Platte schreiben lassen, Prozess suspendieren und anderen laufen lassen. Seitenrahmen als belegt markieren! IAIK 159

160 Behandlung von Seitenfehlern 6. Wenn Seitenrahmen sauber: laden der Seite von Platte. Prozess bleibt oder wird suspendiert. 7. Seite angekommen (Interrupt durch Festplatte): Seitentabelle anpassen. Seitenrahmen als normal markieren IAIK 160

161 Behandlung von Seitenfehlern 8. Befehl der Unterbrechung verursacht hat, in den Anfangszustand versetzen und PC mit Adresse dieses Befehls laden 9. Prozess zur Ausführung auswählen; zurück in Assemblerroutine 10.Wiederherstellen der Register und des Zustandes und Wechsel in Benutzer- Modus IAIK 161

162 Befehlsunterbrechung Bei Pagefaults: Befehl mittendrin unterbrochen, Sprung ins BS Nach Laden der Seite muss Befehl neu gestartet werden Das klingt einfacher als es ist. IAIK 162

163 Ein Beispiel MOVE.L #6(A1),#2(A0) Befehl mit zwei Adressen Ladet ein Datum vom Typ Long von A von M[A1+6] auf M[A0+2] Befehl selbst ist 6 Byte lang IAIK 163

164 Ein Beispiel IAIK 164

165 Ein Beispiel Pagefault Befehl neu starten: was ist das erste Byte des Befehls? Wert des PC abhängig vom Operanden und der Implementierung im Microcode der CPU PC: 1000, 1002, 1004 IAIK 165

166 Ein Beispiel Noch schlimmer: Adressierungsmodi mit Predecrement MOVEM.L D0-D3/D6/D7,A0-A5,-(SP) D0 SP-4 D1 SP-8 D2 SP-12 IAIK 166

167 Was tun? Hilfe durch HW nötig Info über Originalwert des PC/Register Instruktion an der unterbrochenen Stelle fortführbar IAIK 167

168 Sperren von Seiten Prozess fordert I/O-Operation an Beispiel: lesen in Puffer Prozess wird suspendiert Andere Prozesse erzeugen pagefaults Seite des Puffers könnte ersetzt werden DMA-Transfer in falschen Speicher Seite muss daher gesperrt werden (pinning) oder über Kernel transferiert IAIK 168

169 Hintergrundspeicher Auslagern fein. Aber wohin? Einrichtung eines speziellen Swap- Bereichs Eigene Partition auf Festplatte Spezieller File im Filesystem Jeder Prozess bekommt Block seiner Größe IAIK 169

170 Hintergrundspeicher Prozesstabelle enthält Plattenadresse des Swap-Bereichs Berechnung einfach: Addition Initialisierung: entweder gesamtes Image laden und auf Swap schreiben oder nach Bedarf auslagern IAIK 170

171 Hintergrundspeicher Problem: dynamischer Speicher Alternative: nichts reservieren, und für jede Seite eigenen Block anfordern Mehr Verwaltungsaufwand IAIK 171

172 Hintergrundspeicher IAIK 172

173 Segmentierung Virtueller Speicher bisher eindimensional Alle Adressen zwischen 0 und max Oft Trennung in mehrere Adressräume nützlich IAIK 173

174 Beispiel Compiler Braucht diverse Datenbereiche Quellcode Symboltabelle Tabelle für Konstanten Strukturbaum Stack Wachsen ständig! IAIK 174

175 Eindimensional IAIK 175

176 Lösung? Abbruch wenn Bereich zu klein Nicht elegant Reallocation Mühsam Besser: mehrere Adressräume Segmente IAIK 176

177 Segment Lineare Folge von Adressen (0..max) Verschieden groß Größe kann sich unabhängig von anderen Segmenten ändern Adresse hat zwei Teile: Segmentnummer, Adresse im Segment IAIK 177

178 Beispiel IAIK 178

179 Hinweise Segment ist logische Einheit Programmierer berücksichtigt es Schutzmaßnahmen auf Segmentbasis Jede Prozedur in eigenes Segment: Linken wird stark vereinfacht Startadresse jeder Prozedur: (Segmentnummer,0) IAIK 179

180 Shared Libraries Gemeinsame Bibliotheken Viele Routinen die von fast allen Programmen benötigt werden Gemeinsame Nutzung spart Platz Library in ein Segment laden, kann von allen gemeinsam genutzt werden IAIK 180

181 Vergleich Paging/Segmentierung IAIK 181

182 Implementierung Wichtiger Unterschied: Seiten haben fixe Größe Segmente nicht! IAIK 182

183 Segmentierung mit Paging Kombination nutzt Vorteile beider Systeme MULTICS war das erste System Jedes Programm bis zu 2 18 Segmente a Worte (36 Bit) Jedes Segment war virtueller Speicher IAIK 183

184 VM-MULTICS Segmenttabelle, bis zu Einträge selbst Segment und kann ausgelagert werden Segmenddeskriptor zeigt an ob Segment ausgelagert oder nicht Teil des Segments im Speicher: gilt als Segment im Speicher und seine pagetable auch Deskriptor hat Zeiger auf pagetable IAIK 184

185 VM-MULTICS IAIK 185

186 Adressen in MULTICS IAIK 186

187 Speicherzugriff MULTICS Laden des Segmentdeskriptors Ist pagetable im Speicher. Nein: Segmentfehler Pagetable untersuchen Eventuell pagefault Offset dazu Speicherzugriff IAIK 187

188 Speicherzugriff MULTICS IAIK 188

189 Geschwindigkeit MULTICS-HW hatte 16 Einträge großen TLB IAIK 189

190 MULTICS vor etwa 30 Jahren entstanden Viele wegweisende Ansätze Letzter Systemshutdown ! IAIK 190

191 Intel Pentium Virtueller Speicher ähnlich MULTICS Segmentierung und Paging 16K Segmente, bis zu einer Milliarde 32bit-Worte Größe wichtiger: öfter große Segmente und selten sehr viele IAIK 191

192 LDT - GDT Local Descriptor Table Für jedes Programm Lokale Segmente (u.a. Code, Daten, Stack) Global Descriptor Table Systemsegmente Darunter das Betriebssystem IAIK 192

193 Segmentregister Sechs Segmentregister CS: Selektor für Code Segment DS: Selektor für Datensegment Selektor IAIK 193

194 Segmentregister Selektor 0 verboten bedeutet: nicht verfügbar Selektor in Segmentregister: Deskriptor aus LDT oder GDT in internen Register gespeichert IAIK 194

195 Deskriptor IAIK 195

196 Adressumsetzung (Selektor, Offset) Mikroprogramm findet passenden Deskriptor in internen Registern Selektor 0 oder ausgelagert: Interrupt Offset überschreitet Segmentgröße: Interrupt IAIK 196

197 Adressumsetzung Limit: 20 Bit G bestimmt Granularität 0: Limit in Byte 1: Limit in Seiten Addiert Basisfeld zum Offset Ergebnis 32 Bit lineare Adresse Paging abgeschaltet: lineare Adresse = physische Adresse IAIK 197

198 Segmentierung IAIK 198

199 Paging Paging enabled: lineare Adresse ist virtuelle Adresse Über pagetables in physische Adresse abbilden Fixe Seitengröße 4KB eine Million Seiten zweistufige Seitentabellen IAIK 199

200 Paging IAIK 200

201 Paging Seitenverzeichnis oder Page Directory bit-Einträge Adresse in globalen Register Jeder Eintrag zeigt auf eine Seitentabelle mit 1024 Einträgen IAIK 201

202 Paging TLB vorhanden Ein Selektor in alle Segmentregister: Ergebnis ist normales Paging Ist bei allen gängigen Betriebssystemen der Fall Nur OS/2 hat Features des Pentium voll ausgenutzt IAIK 202

203 Speicherschutz Vier Schutzebenen Zugriff auf Daten höherer Ebene legal Zugriff auf Daten niedrigerer Ebene Schutzverletzung Aufruf einer Prozedur nur über Call Gates IAIK 203

204 Speicherschutz Konzept der Schutzringe an MULTICS angelehnt Zugriffe auf höhere Ebene ok Aufrufe auf niedrigere Ebenen über Call-Gates IAIK 204

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

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

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

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

Wie groß ist die Page Table?

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

Mehr

Betriebssysteme 1. Thomas Kolarz. Folie 1

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

Mehr

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

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

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

Mehr

Virtueller Speicher. 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

Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung

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

Mehr

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

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

Mehr

7. Speicherverwaltung

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

Mehr

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

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

Fachbericht Thema: Virtuelle Speicherverwaltung

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

Mehr

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

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

Bsys2 Zusammenfassung. Definition Die CPU ist das Gehirn des Computers. Sie holt Befehle aus dem Speicher und führt sie aus.

Bsys2 Zusammenfassung. Definition Die CPU ist das Gehirn des Computers. Sie holt Befehle aus dem Speicher und führt sie aus. Prozessoren Definition Die CPU ist das Gehirn des Computers. Sie holt Befehle aus dem Speicher und führt sie aus. Register Alle Prozessoren besitzen interne Register, um den Zugriff auf Daten zu beschleunigen.

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

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

Übung zu Einführung in die Informatik # 10

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

Mehr

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

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

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

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

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

(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

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 21.11.2012 1 Begrüßung Heute ist Tag der offenen Tür Willkommen allen Schülerinnen und Schülern! 2 Testat nach Weihnachten Mittwoch

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

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

Ü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

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

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

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

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

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

Grundlagen Rechnerarchitektur und Betriebssysteme

Grundlagen Rechnerarchitektur und Betriebssysteme Grundlagen Rechnerarchitektur und Betriebssysteme Johannes Formann Definition Computer: Eine Funktionseinheit zur Verarbeitung von Daten, wobei als Verarbeitung die Durchführung mathematischer, umformender,

Mehr

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

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

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

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

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

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

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

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

Echtzeit-Multitasking

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

Mehr

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

Linux Memory Management für MySQL

Linux Memory Management für MySQL Linux Memory Management für MySQL SIG MySQL - Performance 13.03.2012 Marius Dorlöchter mdo@ordix.de www.ordix.de Vorstellung Marius Dorlöchter Consultant bei ORDIX seit 2006 Gruppe Systemintegration Betriebssysteme:

Mehr

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

Betriebssysteme Übung 2. Tutorium System Calls & Multiprogramming

Betriebssysteme Übung 2. Tutorium System Calls & Multiprogramming Betriebssysteme Übung 2. Tutorium System Calls & Multiprogramming Task Wiederholung 1 System SysCalls (1) Wozu? Sicherheit Stabilität Erfordert verschiedene modes of execution: user mode privileged mode

Mehr

Speicherorganisation

Speicherorganisation Speicherorganisation John von Neumann 1946 Ideal wäre ein unendlich großer, undendlich schneller und undendlich billiger Speicher, so dass jedes Wort unmittelbar, d.h. ohne Zeitverlust, zur Verfügung steht

Mehr

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

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

Mehr

Speicher. Speicher. Speicherhierarchie. Speicher. Interessante Zahlen:

Speicher. Speicher. Speicherhierarchie. Speicher. Interessante Zahlen: Übersicht 1 Einleitung Hauptspeicher 2 Hauptspeicher 3 Caches, Cache-Kohärenz Dr.-Ing. Volkmar Sieh Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2008/2009

Mehr

Algorithm Engineering. Alexander Kröller, Abteilung Algorithmik, IBR

Algorithm Engineering. Alexander Kröller, Abteilung Algorithmik, IBR #7 Terminchaos Nächste Vorlesungen: 27. 5. Vertretung durch Prof. Fekete 3. 6. Exkursionswoche 10. 6. Vertretung durch N.N. 17. 6. back to normal... Experiment Durchlaufe zwei gleichgrosse Arrays: Sortierte

Mehr

Betriebssysteme Vorstellung

Betriebssysteme Vorstellung Am Anfang war die Betriebssysteme Vorstellung CPU Ringvorlesung SE/W WS 08/09 1 2 Monitor CPU Komponenten eines einfachen PCs Bus Holt Instruktion aus Speicher und führt ihn aus Befehlssatz Einfache Operationen

Mehr

Speicher- Management

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

Mehr

Betriebssysteme 1. Thomas Kolarz. Folie 1

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

Mehr

Technische Informatik 1

Technische Informatik 1 Technische Informatik 1 7 Prozesse und Threads Lothar Thiele Computer Engineering and Networks Laboratory Betriebssystem 7 2 7 3 Betriebssystem Anwendung Anwendung Anwendung Systemaufruf (syscall) Betriebssystem

Mehr

6.Vorlesung Grundlagen der Informatik

6.Vorlesung Grundlagen der Informatik Christian Baun 6.Vorlesung Grundlagen der Informatik Hochschule Darmstadt WS1112 1/42 6.Vorlesung Grundlagen der Informatik Christian Baun Hochschule Darmstadt Fachbereich Informatik christian.baun@h-da.de

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

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

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

(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

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

Einführung. Anwendung. logischer Adreßraum. Kontrollfluß (Thread) = CPU führt Instruktionen aus. Was charakterisiert einen Kontrollfluß?

Einführung. Anwendung. logischer Adreßraum. Kontrollfluß (Thread) = CPU führt Instruktionen aus. Was charakterisiert einen Kontrollfluß? Kontrollflüsse Einführung 1 Motivation Kontrollfluß Anwendung logischer Adreßraum Kontrollfluß (Thread) = führt Instruktionen aus Was charakterisiert einen Kontrollfluß? Programmzähler Registerinhalte

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

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

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

Betriebssysteme KU - Bewertung A2 - WS 15/16

Betriebssysteme KU - Bewertung A2 - WS 15/16 Betriebssysteme KU - Bewertung A2 - WS 15/16 TEAM:... Mögliche Punkte: 50 + Bonus Allgemein Design Design / PoC Implementation... Sonstiges/Abzüge +X Sonstiges / : Bewertung der einzelnen Gruppenmitglieder

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

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

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

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

Betriebssysteme KU - Einführungstutorium

Betriebssysteme KU - Einführungstutorium Betriebssysteme KU - Einführungstutorium SWEB-Tutoren 5. Oktober 2008 1 Grundlagen 2 SWEB 3 Kernel Basics Memory Management Details 4 Userspace 5 Hacking 6 Beispiele 7 Assignment 0 Aufgaben eines Betriebssystems

Mehr

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

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

Mehr

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

Computer-Systeme Teil 15: Virtueller Speicher

Computer-Systeme Teil 15: Virtueller Speicher Computer-Systeme Teil 15: Virtueller Speicher Computer-Systeme WS 12/13 - Teil 15/Virtueller Speicher 14.01.2013 1 Übersicht Segmente Systemaufrufe Swapping Paging Computer-Systeme WS 12/13 - Teil 15/Virtueller

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

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

Algorithmen II Vorlesung am

Algorithmen II Vorlesung am Algorithmen II Vorlesung am 31.01.2013 Algorithmen für externen Speicher INSTITUT FÜR THEORETISCHE INFORMATIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg und Algorithmen nationales

Mehr

A Kompilieren des Kernels... 247. B Lineare Listen in Linux... 251. C Glossar... 257. Interessante WWW-Adressen... 277. Literaturverzeichnis...

A Kompilieren des Kernels... 247. B Lineare Listen in Linux... 251. C Glossar... 257. Interessante WWW-Adressen... 277. Literaturverzeichnis... 1 Einführung................................................ 1 1.1 Was ist ein Betriebssystem?............................... 1 1.1.1 Betriebssystemkern................................ 2 1.1.2 Systemmodule....................................

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

Basisinformationstechnologie I Wintersemester 2011/ November 2011 Betriebssysteme

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

Mehr

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

Grundlagen der Betriebssysteme

Grundlagen der Betriebssysteme Grundlagen der Betriebssysteme [CS2100] Sommersemester 2014 Heiko Falk Institut für Eingebettete Systeme/Echtzeitsysteme Ingenieurwissenschaften und Informatik Universität Ulm Kapitel 6 Speicherverwaltung

Mehr

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

Besprechung der Probeklausur Übungsscheine, inoffizielle Evaluation Übungsaufgaben Noch Fragen? Themen heute Besprechung der Probeklausur Übungsscheine, inoffizielle Evaluation Übungsaufgaben Noch Fragen? Besprechung der Probeklausur Probeklausur wird jetzt ausgeteilt Notenschlüssel: 45 37,5 Punkte:

Mehr

Betriebssysteme. 4y Springer. Eine kompakte Einführung mit Linux. Albrecht Achilles. Mit 31 Abbildungen

Betriebssysteme. 4y Springer. Eine kompakte Einführung mit Linux. Albrecht Achilles. Mit 31 Abbildungen Albrecht Achilles 2008 AGI-Information Management Consultants May be used for personal purporses only or by libraries associated to dandelon.com network. Betriebssysteme Eine kompakte Einführung mit Linux

Mehr

Intel x86 Bootstrapping

Intel x86 Bootstrapping Intel x86 Bootstrapping Meine CPU, mein Code! Andreas Galauner SigInt 2010 Democode Es gibt Democode: http://github.com/g33katwork/ SigInt10OSWorkshop git clone git://github.com/g33katwork/ SigInt10OSWorkshop.git

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

Computeranwendung in der Chemie Informatik für Chemiker(innen) 3. Software

Computeranwendung in der Chemie Informatik für Chemiker(innen) 3. Software Computeranwendung in der Chemie Informatik für Chemiker(innen) 3. Software Jens Döbler 2003 "Computer in der Chemie", WS 2003-04, Humboldt-Universität VL3 Folie 1 Grundlagen Software steuert Computersysteme

Mehr

TECHNISCHE HOCHSCHULE NÜRNBERG GEORG SIMON OHM Die Mikroprogrammebene eines Rechners Das Abarbeiten eines Arbeitszyklus eines einzelnen Befehls besteht selbst wieder aus verschiedenen Schritten, z.b. Befehl

Mehr

Informatik I WS 07/08 Tutorium 24

Informatik I WS 07/08 Tutorium 24 Info I Tutorium 24 Informatik I WS 07/08 Tutorium 24 31.01.08 Bastian Molkenthin E-Mail: infotut@sunshine2k.de Web: http://infotut.sunshine2k.de Organisatorisches Anmeldung Hauptklausur : allerspätestens

Mehr

DATEIVERWALTUNG INHALTSVERZEICHNIS. STANZL Martin 4. HB/a. Verwendete Literatur: Konzepte der Betriebssysteme (Seiten 91-97)

DATEIVERWALTUNG INHALTSVERZEICHNIS. STANZL Martin 4. HB/a. Verwendete Literatur: Konzepte der Betriebssysteme (Seiten 91-97) DATEIVERWALTUNG STANZL Martin 4. HB/a Verwendete Literatur: Konzepte der Betriebssysteme (Seiten 91-97) INHALTSVERZEICHNIS 1. Die Aufteilung des Plattenspeichers... 2 2. Der Aufbau von Dateien... 2 3.

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