Keine Bearbeitungszusammenfassung |
Keine Bearbeitungszusammenfassung |
||
(25 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
[[Computerarchitektur_und_Betriebssysteme]] | [[Computerarchitektur_und_Betriebssysteme]] | ||
= Motivation = | = Motivation = | ||
== Hinweise für Studierende == | == Hinweise für Studierende == | ||
Zeile 34: | Zeile 33: | ||
==== Zweiadressformat ==== | ==== Zweiadressformat ==== | ||
==== Dreiadressformat ==== | ==== Dreiadressformat ==== | ||
==== Das Adressformat und der Von-Neumann-Zyklus ==== | |||
==== Aufgaben & Co. zum Befehlsformat ==== | ==== Aufgaben & Co. zum Befehlsformat ==== | ||
=== Adressierungsarten === | === Adressierungsarten === | ||
Zeile 55: | Zeile 55: | ||
==== Quasi-gleichzeitige Ausführung mehrerer Prozesse ==== | ==== Quasi-gleichzeitige Ausführung mehrerer Prozesse ==== | ||
==== Kommunikation mit E/A-Geräten ==== | ==== Kommunikation mit E/A-Geräten ==== | ||
===== Allgemeiner Aufbau eines Controllers ===== | |||
===== Zeit und Kosten machen den Unterschied ===== | |||
===== Datentransfer und Interrupts ===== | |||
=== DMA-Controller === | === DMA-Controller === | ||
==== Aufbau und Arbeitsweise eines DMA-Controllers ==== | ==== Aufbau und Arbeitsweise eines DMA-Controllers ==== | ||
Zeile 71: | Zeile 74: | ||
=== Betriebssystemarchitekturen === | === Betriebssystemarchitekturen === | ||
=== Betriebssystemarten === | === Betriebssystemarten === | ||
=== Vom Batch-Job zum Multitasking === | |||
=== Kernel-Mode, User-Mode und Systemaufrufe === | === Kernel-Mode, User-Mode und Systemaufrufe === | ||
== Prozessverwaltung == | == Prozessverwaltung == | ||
=== | === Prozess === | ||
==== Kontextwechsel | === Prozesskontext === | ||
=== Kontextwechsel === | |||
==== Die Statistik der Kontextwechsel unter Windows ==== | ==== Die Statistik der Kontextwechsel unter Windows ==== | ||
==== Die Statistik der Kontextwechsel unter Linux ==== | ==== Die Statistik der Kontextwechsel unter Linux ==== | ||
Zeile 80: | Zeile 85: | ||
==== Fork ==== | ==== Fork ==== | ||
==== CreateProcess ==== | ==== CreateProcess ==== | ||
=== | === Prozesskontrollblock === | ||
==== Prozesskontrollblock unter Windows ==== | ==== Prozesskontrollblock unter Windows ==== | ||
==== Prozesskontrollblock unter Linux ==== | ==== Prozesskontrollblock unter Linux ==== | ||
=== Prozesstabelle === | |||
=== Prozesszustände === | |||
=== Verwalten von Prozessen === | |||
==== Prozessverwaltung aus Admin-Sicht unter Windows ==== | ==== Prozessverwaltung aus Admin-Sicht unter Windows ==== | ||
==== Prozessverwaltung aus Admin-Sicht unter Linux ==== | ==== Prozessverwaltung aus Admin-Sicht unter Linux ==== | ||
=== Threads === | === Threads === | ||
==== Java-Beispiel mit Threads ==== | ==== Java-Beispiel mit Threads ==== | ||
Zeile 102: | Zeile 109: | ||
==== Vergleichskriterien ==== | ==== Vergleichskriterien ==== | ||
=== Synchronisation === | === Synchronisation === | ||
==== Race Conditions ==== | ==== Grundlegende Begriffsdefinitionen zur Synchronisation ==== | ||
==== Kritischer Abschnitt ==== | ===== Nebenläufigkeit ===== | ||
===== Race Conditions ===== | |||
===== Kritischer Abschnitt ===== | |||
==== Aktives Warten ==== | ==== Aktives Warten ==== | ||
==== TSL | ===== Aktives Warten mit while ===== | ||
===== Das Problem des ungünstigsten Moments ===== | |||
===== Aktives Warten mit TSL ===== | |||
==== Semaphore ==== | ==== Semaphore ==== | ||
==== | ===== Mutex ===== | ||
===== | ====== Wechselseitiger Ausschluss ====== | ||
===== | ====== Reihenfolgedurchsetzung ====== | ||
===== | ===== Zählsemaphor ===== | ||
===== | ====== Erzeuger- / Verbraucherproblem ====== | ||
===== | ====== Philosophenproblem ====== | ||
==== Monitore ==== | ==== Monitore ==== | ||
==== Zusammenfassung Synchronisation ==== | |||
==== Synchronisationstechniken moderner Betriebssysteme ==== | ==== Synchronisationstechniken moderner Betriebssysteme ==== | ||
==== Synchronisationsmechanismen in Programmiersprachen ==== | ==== Synchronisationsmechanismen in Programmiersprachen ==== | ||
=== Deadlocks === | |||
==== Vier Bedingungen nach Coffman ==== | |||
==== Deadlocks erkennen ==== | |||
==== Deadlocks ignorieren ==== | |||
==== Deadlocks vermeiden ==== | |||
==== Deadlocks verhindern ==== | |||
==== Deadlock-Fazit ==== | |||
=== Interprozesskommunikation === | === Interprozesskommunikation === | ||
==== Zwei Threads kommunizieren über gemeinsame Variablen ==== | ==== Zwei Threads kommunizieren über gemeinsame Variablen ==== | ||
Zeile 131: | Zeile 150: | ||
=== Swapping und Paging === | === Swapping und Paging === | ||
==== Page Fault ==== | ==== Page Fault ==== | ||
==== Seitenersetzungsverfahren ==== | ==== Seitenersetzung ==== | ||
===== Optimaler Seitenersetzungsalgorithmus ===== | ===== Was bei der Seitenersetzung passiert ===== | ||
===== NRU - Not Recently Used Algorithmus ===== | ===== Das Modifiziert-Bit ===== | ||
===== FIFO - First In First Out Algorithmus ===== | ===== Seitenersetzungsverfahren ===== | ||
===== Second Chance Algorithmus ===== | ====== Optimaler Seitenersetzungsalgorithmus ====== | ||
===== Working Set Algorithmus ===== | ====== NRU - Not Recently Used Algorithmus ====== | ||
====== FIFO - First In First Out Algorithmus ====== | |||
====== Second Chance Algorithmus ====== | |||
====== Working Set Algorithmus ====== | |||
=== Shared Memory === | === Shared Memory === | ||
=== Speicherverwaltung moderner Betriebssysteme === | === Speicherverwaltung moderner Betriebssysteme === | ||
Zeile 160: | Zeile 182: | ||
=== Memory-Mapped-I/O === | === Memory-Mapped-I/O === | ||
=== DMA - Direct Memory Access === | === DMA - Direct Memory Access === | ||
=== Windows-Treiber auf GitHub === | |||
== Dateiverwaltung == | == Dateiverwaltung == | ||
=== Datei === | === Datei === | ||
Zeile 185: | Zeile 208: | ||
== Jahr 2014 == | == Jahr 2014 == | ||
== Jahr 2015 == | == Jahr 2015 == | ||
== Jahr 2016 == | |||
= Anhang = | = Anhang = | ||
== Zweier-Potenzen == | |||
== Bits und Bytes == | |||
== GiB, MiB, KiB im Vergleich zu GB, MB, KB == | == GiB, MiB, KiB im Vergleich zu GB, MB, KB == | ||
== Java-Applets == | == Java-Applets == |
Computerarchitektur_und_Betriebssysteme