Computerarchitektur_und_Betriebssysteme
Motivation
Hinweise für Studierende
Hinweise für Experten
Copyright
Computerarchitektur
Vom Anwender zur digitalen Schaltung
Erstmal aufschrauben
Von-Neumann-Rechner
Von-Neumann-Architektur
Von-Neumann-Flaschenhals
Komponenten eines Von-Neumann-Rechners
Zentraleinheit / CPU
Steuerwerk / Leitwerk
Rechenwerk
Speicherwerk
Ein- / Ausgabewerk
Gesamtbild eines Von-Neumann-Rechners
Von-Neumann-Zyklus
Animation der Zusammenarbeit
Eigenschaften eines Von-Neumann-Rechners
Digitale Schaltungen
Aufbau und Arbeitsweise eines Registers
Aufbau und Arbeitsweise des Speicherwerks
Aufbau und Arbeitsweise der ALU
Aufbau und Arbeitsweise eines Busses
Gatter
Prozessoren und ihre Befehle
Vom Quellcode zum Prozessor
Befehlssatz
Befehlsformat
Einadressformat
Zweiadressformat
Dreiadressformat
Aufgaben & Co. zum Befehlsformat
Adressierungsarten
Unmittelbare Adressierung
Registeradressierung
Direkte/absolute Adressierung
Registerindirekte Adressierung
Indizierte Adressierung mit Verschiebung
Vom Programm zum Prozess
Gesamtbild der Programmausführung
Aufgaben & Co. zu Prozessoren
Weitere Komponenten der Computerarchitektur
Stackregister
Basisregister
Mehrere Prozesse gleichzeitig im Speicher
Swapping: Aus- und Einlagern von kompletten Prozessen
Limitregister zum Speicherschutz
Interrupt-Controller
Gründe für eine Interrupt-Auslösung
Speicherschutzverletzung
Quasi-gleichzeitige Ausführung mehrerer Prozesse
Kommunikation mit E/A-Geräten
DMA-Controller
MMU - Memory Management Unit
Moderne Bussysteme
Fazit Computerarchitektur
Betriebssysteme
Einführung Betriebssysteme
Geschichtlicher Überblick zu Betriebssystemen
Nur ein Prozessor mit einem Kern
Zwischen Benutzer und Hardware
Betriebsmittel
Betriebsmittel sind Prozessen zugeordnet
Zentrale Aufgabe eines Betriebssystems
Betriebssystemarchitekturen
Betriebssystemarten
Kernel-Mode, User-Mode und Systemaufrufe
Prozessverwaltung
Vom Batch-Job zum Multitasking
Prozesse erzeugen
Fork
CreateProcess
Verwalten von Prozessen
Prozesskontrollblock unter Windows
Prozesskontrollblock unter Linux
Prozessverwaltung aus Admin-Sicht unter Windows
Prozessverwaltung aus Admin-Sicht unter Linux
Prozesszustände
Threads
Java-Beispiel mit Threads
Prozesse und Threads unter Windows
Prozesse und Threads unter Unix und Linux
Scheduling
Scheduling-Ziele
Scheduling-Verfahren
First Come First Serve
Shortest Job First
Shortest Remaining Time Next
Round Robin
Priority Scheduling
Weitere Verfahren
Scheduling in gängigen Betriebssystemen
Vergleichskriterien
Synchronisation
Race Conditions
Kritischer Abschnitt
Aktives Warten
TSL-Befehl
Semaphore
Deadlocks
Deadlocks erkennen
Deadlocks ignorieren
Deadlocks vermeiden
Deadlocks verhindern
Deadlock-Fazit
Monitore
Synchronisationstechniken moderner Betriebssysteme
Synchronisationsmechanismen in Programmiersprachen
Interprozesskommunikation
Zwei Threads kommunizieren über gemeinsame Variablen
Zwei Prozesse kommunizieren über gemeinsame Speicherobjekte
Zwei Prozesse kommunizieren über Shared Memory
Zwei Prozesse kommunizieren über Pipes
Zwei Prozesse kommunizieren über Sockets
Interprozesskommunikation-Fazit
Speicherverwaltung
Virtuelle Speicherverwaltung
Arbeitsweise der MMU
Seitentabellen
Einstufige Seitentabellen
Mehrstufige Seitentabellen
Swapping und Paging
Page Fault
Seitenersetzungsverfahren
Optimaler Seitenersetzungsalgorithmus
NRU - Not Recently Used Algorithmus
FIFO - First In First Out Algorithmus
Second Chance Algorithmus
Working Set Algorithmus
Shared Memory
Speicherverwaltung moderner Betriebssysteme
Speicherverwaltung unter Linux
Speicherverwaltung in Windows
Speicherverwaltung unter Android
Geräteverwaltung
Dateiverwaltung
Aufgaben eines Dateisystems
Dateisystemkonzepte
Logbuch
Jahr 2013
Jahr 2014