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 SS2023 in Zusammenarbeit mit Henry-Norbert Cocos. Die Vorlesungsunterlagen zum Teil Betriebssysteme basieren auf der 3. Auflage des Buches Betriebssysteme kompakt (ISBN: 978-3-662-64717-2), das im Juni 2022 bei Springer Vieweg erschienen ist. Die Vorlesungsunterlagen zum Teil Computernetze basieren auf der 6. Auflage des Buches Computernetze kompakt (ISBN: 978-3-662-65362-3), das im Herbst 2022 bei Springer Vieweg erschienen ist.
|
Übungstermine sind...
Datum | Zeit | Raum | Veranstaltung | Inhalte |
---|---|---|---|---|
14.04.2023 | 11:45-13:15 | Audimax | Vorlesung | Besprechung von Foliensatz 1 (komplett) |
21.04.2023 | 11:45-13:15 | Audimax | Vorlesung | Besprechung von Foliensatz 2 (Folie 1-28) |
28.04.2023 | 11:45-13:15 | 7-305 | Vorlesung | Besprechung von Foliensatz 2 (Folie 29-52) |
30.04.2023 | ----- | ----- | ----- | Frist (Deadline) zur Abgabe der erste Lösungsskizze für Werkstück A der Portfolioprüfung in campUAS |
05.05.2023 | 11:45-13:15 | Audimax | Vorlesung | Besprechung von Foliensatz 3 (Folie 1-28) |
12.05.2023 | 11:45-13:15 | Audimax | Vorlesung | Besprechung von Foliensatz 3 (Folie 29-43) + Foliensatz 4 (Folie 1-7) |
19.05.2023 | 11:45-13:15 | Audimax | Vorlesung | Besprechung von Foliensatz 4 (Folie 8-37) |
26.05.2023 | 11:45-13:15 | Audimax | Vorlesung | Besprechung von Foliensatz 4 (Folie 38-49) + Foliensatz 5 (Folie 1-7) |
02.06.2023 | 11:45-13:15 | Audimax | Vorlesung | Besprechung von Foliensatz 5 (Folie 8-26) + Foliensatz 6 (Folie 1-17) |
09.06.2023 | 11:45-13:15 | Audimax | Vorlesung | Besprechung von Foliensatz 6 (Folie 18-49) |
16.06.2023 | 11:45-13:15 | 1-129 | Vorlesung | Besprechung von Foliensatz 6 (Folie 50-76) |
23.06.2023 | 11:45-13:15 | Audimax | Vorlesung | Besprechung von Foliensatz 7 (komplett) |
25.06.2023 | ----- | ----- | ----- | Frist (Deadline) zur Abgabe der Dokumentation, der Präsentationsfolien und des Quellcodes von Werkstück A der Portfolioprüfung in campUAS |
30.06.2023 | 11:45-13:15 | 4-8 | Vorlesung | Besprechung von Foliensatz 8 (komplett) |
07.07.2023 | 11:45-13:15 | Audimax | Vorlesung | Besprechung von Foliensatz 9 (komplett) |
14.07.2023 | ----- | ----- | ----- | Die Vorlesung kann wegen einer Dienstreise nicht stattfinden. |
19.07.2023 | 12:00-13:00 | 4-[8|109/110|111/112] | Klausur | Die Klausur deckt alle besprochenen Foliensätze und Übungsblätter ab |
Foliensätze | Übungsblätter | Lösungen | Themen |
---|---|---|---|
Foliensatz 1 | Übungsblatt 1 | Lösung | Organisatorisches, Literatur, Generationen von Computersystemen und Betriebssystemen, Klassifikationen, Einzelprogrammbetrieb, Mehrprogrammbetrieb, Einzelbenutzerbetrieb, Mehrbenutzerbetrieb, Kernelarchitekturen |
Foliensatz 2 | Übungsblatt 2 | Lösung | Speicher, Speicherhierarchie, Ersetzungsstrategien, Speicherverwaltung, Real Mode, Protected Mode, virtueller Speicher |
Foliensatz 3 | Übungsblatt 3 | Lösung | Dateien, Dateisysteme, Verzeichnisse, Blockadressierung, Journaling, Extents |
Foliensatz 4 | Übungsblatt 4 | Lösung | Prozesse, Prozesskontext, Zustands-Prozessmodelle, Prozessverwaltung, Prozesse erzeugen und löschen, Systemaufrufe |
Foliensatz 5 | Übungsblatt 5 | Lösung | Unterbrechungen, Dispatcher, Scheduling-Verfahren |
Foliensatz 6 | Übungsblatt 6 | Lösung | Prozessinteraktion, Synchronisation von Prozessen, Kommunikation zwischen Prozessen, Kooperation von Prozessen |
Beispiel zu gemeinsamen Speichersegmenten - Shared Memory Segments (System V) | |||
Beispiel zu gemeinsamen Speichersegmenten - Shared Memory Segments (POSIX) | |||
Beispiel zu Nachrichtenwarteschlangen - Message Queues (System V) | |||
Beispiel zu Nachrichtenwarteschlangen - Message Queues (POSIX) | |||
Beispiel zu anonymen Pipes | |||
Beispiel zu benannten Pipes | |||
Beispiel zu TCP-Sockets (Server) | |||
Beispiel zu TCP-Sockets (Client) | |||
Beispiel zu UDP-Sockets (Server) | |||
Beispiel zu UDP-Sockets (Client) | |||
Beispiel zu Semaphoren (System V) | |||
Beispiel zu benannten Semaphoren (POSIX) | |||
Foliensatz 7 | Übungsblatt 7 | Lösung | Grundlagen der Computervernetzung, Protokolle und Referenzmodelle |
Foliensatz 8 | Übungsblatt 8 | Lösung | Bitübertragungsschicht - Physical Layer |
Foliensatz 9 | Übungsblatt 9 | Lösung | Sicherungsschicht - Data Link Layer |
Foliensatz 10 | Übungsblatt 10 | Lösung | Vermittlungsschicht - Network Layer |
Foliensatz 11 | Übungsblatt 11 | Lösung | Transportschicht - Transport Layer |
Foliensatz 12 | Übungsblatt 12 | Lösung | Anwendungsschicht - Application Layer |
Werkstück A | Maximale Gruppengröße | Themengebiet | Erlaubte Programmiersprachen |
---|---|---|---|
Alternative 1 | 5 Personen | Interprozesskommunikation (siehe Foliensatz 6) | Bash, C |
Alternative 2 | 4 Personen | Visualisierung von Prozessen (siehe Foliensätze 2-4) | C/C++ |
Alternative 3 | 4 Personen | Visualisierung von Threads und Prozessen (siehe Foliensätze 2-4) | C/C++ |
Alternative 4 | 3 Personen | Erzeugung von Daemons in Linux (siehe Foliensatz 4-5) | C |
Alternative 5 | 4 Personen | Netzwerkkommunikation in Linux (siehe Foliensätze 7-10) | C |
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. Es gibt schier endlos viel Literatur und Tutorials für den Einstieg in LaTeX. Ein kostenfrei verfügbares eBook, das auch im Quellcode vorliegt, ist Ein Einstieg in LaTeX (GitHub).
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 |
Anleitung für Windows Subsystem für Linux v2 (WSL2) | Eine sehr gut verständliche und detaillierte Anleitung zur Installation von Linux mit WSL2 von David Hundeshagen |
Semester | Klausuren | Bearbeitungszeit | Lösungen |
---|---|---|---|
SS2022 | Klausur | 60 Minutes | Musterlösung |
SS2021 | Klausur | 60 Minutes | Musterlösung |
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 SS2023 |
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 SS2023 in Zusammenarbeit mit Henry-Norbert Cocos.
Prof. Dr. Christian Baun Frankfurt University of Applied Sciences (1971-2014: Fachhochschule Frankfurt am Main) FB 2: Informatik und Ingenieurwissenschaften Stand: 14.7.2023 |