Zurück zur Hauptseite |
|
Die Hauptaufgabe eines Betriebssystems ist die Steuerung und Verwaltung der Betriebsmittel eines Rechnersystems sowie die Verteilung dieser Ressourcen an die Benutzer. Zu den Betriebsmitteln gehören Prozessoren, Hauptspeicher, Dateien, Ein-/Ausgabegeräte und Netzwerkdienste und generell alle Ressourcen, die mit dem Rechnersystem verbunden sind. Zusätzlich stellt ein Betriebssystem die Benutzerschnittstelle zur Steuerung des Systems sowie Schutzmechanismen, Werkzeuge, Bibliotheken und Entwicklungswerkzeuge bereit. Rechnernetze ermöglichen den Zusammenschluss eigenständiger Computersysteme zur Kommunikation und gemeinsamen Nutzung von Ressourcen. Die Kommunikation in Computernetzen erfolgt über verschiedene Protokolle, die über verschiedene Schichtenmodelle (OSI-Referenzmodell, TCP/IP-Referenzmodell, hybrides Modell) strukturiert werden können. Das Ziel dieser Vorlesung ist die Vermittlung der Grundlagen, Prinzipien, Probleme, und Lösungen, kurz gesagt der Konzepte auf denen die klassischen und modernen Betriebssysteme basieren. Zudem findet eine Einführung in die Grundlagen der Rechnernetze statt. Abschließend wird eine Auswahl bekannter Protokollen und ihre Klassifikation in die etablierten Referenzmodelle besprochen. Der Schwerpunkt des Themenbereichs Rechnernetze ist die Beschreibung des Transports von Daten durch die unterschiedlichen Protokollebenen und Übertragungsmedien. Die komplette Vorlesung (inkl. Übungen und Klausur) findet in deutscher Sprache statt. Die Betreuung der Übungen und die Abnahme von Werkstück A geschieht im SS2020 in Zusammenarbeit mit Henry-Norbert Cocos: cocos@fb2.fra-uas.de Die Vorlesungsunterlagen zum Teil Betriebssysteme basieren auf der 1. Auflage des Buches Betriebssysteme kompakt (ISBN: 978-3-662-53142-6), das im April 2017 bei Springer Vieweg erschienen ist. Die 2. Auflage des Buches mit einigen neuen Inhalten und vielen inhaltlichen und didaktischen Verbesserungen ist im Juni 2020 erschienen. Die Vorlesungsunterlagen zum Teil Computernetze basieren auf der 5. Auflage des Buches Computernetze kompakt (ISBN: 978-3-662-59896-2), das im Herbst 2019 bei Springer Vieweg erscheint ist.
|
Die Klausur findet am 22.10.2020 von 12:30-13:30 in Halle 11 (Messe Frankfurt) statt.
Foliensätze | Screencasts | Übungsblätter | Lösungen | Themen |
---|---|---|---|---|
--- | Screencast | --- | --- | Begrüßung |
Foliensatz 1 | Screencast | Übungsblatt 1 | Lösung | Organisatorisches, Literatur, Generationen von Computersystemen und Betriebssystemen, Klassifikationen, Einzelprogrammbetrieb, Mehrprogrammbetrieb, Einzelbenutzerbetrieb, Mehrbenutzerbetrieb, Kernelarchitekturen |
Foliensatz 2 | Screencast | Übungsblatt 2 | Lösung | Speicher, Speicherhierarchie, Ersetzungsstrategien, Speicherverwaltung, Real Mode, Protected Mode, virtueller Speicher |
Foliensatz 3 | Screencast | Übungsblatt 3 | Lösung | Dateien, Dateisysteme, Verzeichnisse, Blockadressierung, Journaling, Extents |
Foliensatz 4 | Screencast | Übungsblatt 4 | Lösung | Prozesse, Prozesskontext, Zustands-Prozessmodelle, Prozessverwaltung, Prozesse erzeugen und löschen, Systemaufrufe |
Foliensatz 5 | Screencast | Übungsblatt 5 | Lösung | Unterbrechungen, Dispatcher, Scheduling-Verfahren |
Foliensatz 6 | Screencast | Übungsblatt 6 | Lösung | Prozessinteraktion, Synchronisation von Prozessen, Kommunikation zwischen Prozessen, Kooperation von Prozessen |
--- | --- | --- | --- | Beispiel zu gemeinsamen Speichersegmenten (Shared Memory Segments) |
--- | --- | --- | --- | Beispiel zu Nachrichtenwarteschlangen (Message Queues) |
--- | --- | --- | --- | Beispiel zu anonymen Pipes |
--- | --- | --- | --- | Beispiel zu benannten Pipes |
--- | --- | --- | --- | Beispiel zu TCP-Sockets (Server) |
--- | --- | --- | --- | Beispiel zu TCP-Sockets (Client) |
Foliensatz 7 | Screencast | Übungsblatt 7 | Lösung | Grundlagen der Computervernetzung, Protokolle und Referenzmodelle |
Foliensatz 8 | Screencast | Übungsblatt 8 | Lösung | Bitübertragungsschicht - Physical Layer |
Foliensatz 9 | Screencast | Übungsblatt 9 | Lösung | Sicherungsschicht - Data Link Layer |
Foliensatz 10 | Screencast | Übungsblatt 10 | Lösung | Vermittlungsschicht - Network Layer |
Foliensatz 11 | Screencast | Übungsblatt 11 | Lösung | Transportschicht - Transport Layer |
Foliensatz 12 | Screencast | Übungsblatt 12 | Lösung | Anwendungsschicht - Application Layer |
Werkstück A | Maximale Gruppengröße | Themengebiet | Erlaubte Programmiersprachen |
---|---|---|---|
Alternative 1 | 3 Personen | Interprozesskommunikation (siehe Foliensatz 6) | C, Python |
Alternative 2 | 2 Personen | Buddy-Speicherverwaltung (siehe Foliensatz 2) | Bash |
Alternative 3 | 3 Personen | Seitenersetzungsstrategien (siehe Foliensatz 2) | Bash |
Alternative 4 | 3 Personen | Scheduling-Verfahren (siehe Foliensatz 5) | Bash |
Alternative 5 | 3 Personen | Dateibrowser auf der Kommandozeile | Bash, C, Python |
Alternative 6 | 3 Personen | Medienplayer auf der Kommandozeile als Bash-Skript, C-Programm oder als Python-Skript | Bash, C, Python |
Eine Vorlage (ZIP, PDF) für die Ausarbeitung von Werkstück A ist verfügbar. Die Vorlage nutzt das LaTeX-Makropaket lncs (Lecture Notes in Computer Science) des Springer-Verlags. Henry Cocos hat eine sehr schöne LaTeX-Vorlage für Präsentationsfolien mit LaTeX-Beamer erstellt.
Die Verwendung dieser Vorlagen ist nicht zwingend erforderlich. Es ist aber eine gute Gelegenheit, die Erstellung optisch ansprechender Dokumentationen und Präsentationen zu erlernen. Alle großen Linux-Distributionen bringen LaTeX-Pakete mit.
Unter Windows sind die LaTeX-Distributionen MiKTeX und TeX Live bekannt. Für Mac OS gibt es MacTeX. LaTeX-Dokumente können mit jedem Editor bearbeitet werden.
Diese Dokumentation sind ein guter Einstieg, wenn Sie wenig oder gar kein Vorwissen zu den Themengebieten Linux-Systemadministration und Shell-Programmierung haben. Diese Dokumentation ist nicht klausurrelevant.
Linux und Shell-Programmierung - Teil 1 | Organisatorisches, Einführung, Hilfesystem, Verzeichnisse, Dateien |
Linux und Shell-Programmierung - Teil 2 | Systemverwaltung, Zugriffsrechte, Verweise, Dateien durchsuchen, Editoren, Prozesse |
Linux und Shell-Programmierung - Teil 3 | Datum und Uhrzeit, Ein-/Ausgaben umleiten, Zeichen zählen, Alias, Dateien suchen, Kommandos zeitsteuern |
Linux und Shell-Programmierung - Teil 4 | Ressourcen überwachen, Sortieren, Umgebungsvariablen, Textausgaben, Mustervergleiche, Texte auswerten |
Linux und Shell-Programmierung - Teil 5 | Grundlagen der Shell und von Shell-Skripten, Vergleichsoperationel, Kontrollstrukturen, Schleifen |
Linux und Shell-Programmierung - Teil 6 | Arithmetik auswerten, Funktionen, Funktionsbibliotheken, Auswahlmenüs |
Semester | Klausuren | Bearbeitungszeit | Lösungen |
---|---|---|---|
SS2020 | Klausur | 60 Minutes | Musterlösung |
SS2019 | Klausur | 60 Minuten | Musterlösung |
SS2018 | Klausur | 60 Minuten | Musterlösung |
SS2017 | Klausur | 60 Minuten | Musterlösung |
SS2016 | Klausur | 60 Minuten | Musterlösung |
Ergebnis des Moduls (Werkstück A+B) im SS2020 |
Zu erreichen bin ich am besten per E-Mail: christianbaun@fb2.fra-uas.de
Die Betreuung der Übungen und die Abnahme von Werkstück A geschieht im SS2020 in Zusammenarbeit mit Henry-Norbert Cocos: cocos@fb2.fra-uas.de
Prof. Dr. Christian Baun Frankfurt University of Applied Sciences (1971-2014: Fachhochschule Frankfurt am Main) FB 2: Informatik und Ingenieurwissenschaften Stand: 11.11.2020 |