Speicherverwaltung Memory Management
|
|
- Liese Juliane Graf
- vor 6 Jahren
- Abrufe
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) Rückblick: Segmentierung Feste Einteilung des Speichers in einzelne Segmente 750k 0 Rückblick: Segmentierung Feste Einteilung des Speichers in einzelne Segmente
MehrTechnische 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
MehrTutorium 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
MehrPaging. 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
MehrKapitel 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
Mehrwichtigstes 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
MehrWie 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
MehrBetriebssysteme 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
MehrEchtzeitbetriebssysteme
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
MehrMemory 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
MehrVirtueller 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
MehrSysteme 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
MehrLinker: 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
Mehr7. Speicherverwaltung
7. Speicherverwaltung Ziele Zuteilung des Arbeitsspeicher Abbildung der symbolischen Adresse auf die physikalische Adresse Adress-Transformation Symbolische Adresse verschiebbare Adresse physikalische
MehrLinux 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
MehrFreispeicherverwaltung 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
MehrFachbericht 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
MehrPraktikum 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
MehrBetriebssysteme. 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
MehrEinfü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
MehrBetriebssysteme 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
MehrKapitel 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
MehrBsys2 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.
Mehr5.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)
Mehr8. 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 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),
MehrTechnische 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
MehrSysteme 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
MehrSysteme 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:
Mehr5 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
MehrSpeicher 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
Ü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
MehrSysteme 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
MehrBetriebssysteme - 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
MehrVirtuelle 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 Aufgabe 1 Fragmentierung Erläutern Sie den Unterschied zwischen interner und externer Fragmentierung! Als interne Fragmentierung oder Verschnitt
MehrEnterprise 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
MehrTechnische 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
MehrAnbindung 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
Mehr5.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,
MehrMMU 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
MehrGrundlagen 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,
MehrRechnergrundlagen 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
MehrUniversitä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,
MehrSysteme 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
MehrWenn 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:
MehrSysteme 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
MehrKapitel 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
Mehr1. 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
MehrKonzepte 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
MehrEchtzeit-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
Mehr4.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
MehrLinux 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:
MehrLö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
MehrBetriebssysteme Ü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
MehrSpeicherorganisation
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
Mehr1. 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
MehrSpeicher. 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
MehrAlgorithm 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
MehrBetriebssysteme 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
MehrSpeicher- 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
MehrBetriebssysteme 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
MehrTechnische 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
Mehr6.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
MehrGrundlagen 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
MehrBetriebssysteme. 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
MehrRechnernutzung 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:
MehrSysteme 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 1) Ein Betriebssystem mit virtueller Speicherverwaltung arbeite mit 32 Bit langen virtuellen Adressen einer Seitengröße von 4KB zweistufigem Paging, wobei
Mehr5 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
MehrEinfü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
MehrRealisierung: 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
Mehr6 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.
MehrGrundlagen der Rechnerarchitektur
Grundlagen der Rechnerarchitektur Speicher Übersicht Speicherhierarchie Cache Grundlagen Verbessern der Cache Performance Virtueller Speicher SS 2012 Grundlagen der Rechnerarchitektur Speicher 2 Speicherhierarchie
MehrBetriebssysteme 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
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
MehrSpeicherverwaltung. 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.
MehrBetriebssysteme 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
MehrVerteilte 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
MehrBetriebssysteme 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
MehrBesprechung 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
MehrDefinitionen 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
MehrComputer-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
MehrBetriebssysteme (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
Mehr183.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
MehrAlgorithmen 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
MehrA 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....................................
MehrSpeicherverwaltung ÜBERBLICK
Speicherverwaltung 3. Systeme ohne Speicherabstraktion............... 229 3.2 Speicherabstraktion: Adressräume................ 232 3.3 Virtueller Speicher................................ 24 3.4 Seitenersetzungsalgorithmen.....................
MehrBasisinformationstechnologie 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
MehrRechnerarchitektur 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?
MehrGrundlagen 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
MehrBesprechung 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:
MehrBetriebssysteme. 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
MehrIntel 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
MehrTutorium 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
MehrComputeranwendung 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
MehrTECHNISCHE 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
MehrInformatik 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
MehrDATEIVERWALTUNG 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.
MehrPrü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