Kurzbeschreibung | Wir behandeln die wichtigsten Komponenten von Betriebssystemen. Netzwerke: IP, Routing, Transport, Flüsse, Anwendungen, Sockets, Link/Physical, Markov-Ketten, PageRank, Sicherheit. Speicher: Hierarchie, Dateisysteme, Caching, Hashing, Datenbanken. Rechnen: Virtualisierung, Prozesse, Threads, Concurrency, Scheduling, Locking, Synchronisation, gegenseitigen Ausschluss, Deadlocks, Konsistenz. |
Lernziel | siehe oben |
Inhalt | Computer gibt es in verschiedenen Grössen: Von Servern über Laptops, Tablets, Smartphones, Smartwatches, bis hin zu winzigen Microcontrollern in einer Waschmaschine. Menschen kaufen vor allem aus drei Gründen einen Computer: (i) Internetzugang, (ii) Datenspeicherung, und (iii) Berechnungen. Während der Internetzugang nicht zu ersetzen ist, werden Speicher- und Rechenmöglichkeiten immer mehr auf dedizierte Server (die "Cloud") ausgelagert. In dieser Vorlesung besprechen wir wie Computer Netzwerkzugang, Speicher und Berechnungen mittels eines Betriebssystems ermöglichen.
Wir beginnen mit Netzwerken und besprechen das Internet-Protokoll, Adressierung, Routing, die Transportschicht, Flüsse, einige repräsentative Protokolle der Anwendungsschicht, und wie man diese mit Sockets implementiert. Ausserdem diskutieren wir die tieferen Schichten, Markov-Ketten und PageRank, sowie ausgewählte Themen der Sicherheit. Bezüglich Speicher sprechen wir über die Speicherhierarchie, Dateisysteme, Caching, effiziente Datenstrukturen wie Hashing und Datenbanken. Beim Rechnen behandeln wir die Virtualisierung der Prozessoren mit Prozessen und Threads. Wir konzentrieren uns auf Concurrency und untersuchen Scheduling, Locking, Synchronisation, gegenseitigen Ausschluss, Deadlocks und Konsistenz.
Die Vorlesung wird verschiedene Lehrparadigmen benutzen. Hauptsächlich diskutieren wir an der Tafel, unterstützt durch ein Skript. Gegebenenfalls verwenden wir auch Slides oder machen Demos. Einige wenige Vorlesungsstunden werden als "Flipped Classroom" durchgeführt. Es werden jede Woche schriftliche Übungen angeboten.
Man lernt Teile der Vorlesung am besten vor einem tatsächlichen Computer. Zusätzlich zur Vorlesung bieten wir deshalb spannende praktische Übungen als Fachpraktikum an. |
Skript | Vorhanden, in Englischer Sprache |