BIN005: Systemsoftware
Einführung in die Informatik
BIN005: Systemsoftware
Prof. Dr. Jens Brandt
Prof. Dr. Jens Brandt
Bachelor Informatik
Informatik
Deutsch
jedes Semester
1 Semester
5 ECTS
Deutsche Notenskala 1-5
2 V | 2 Ü | - P | - S
System Software
Keine angegeben.
WAS
Mit erfolgreichem Abschluss des Moduls sind die Studierenden in der Lage, das Zusammenwirken von systemnahen Programmen, Toolchain und Betriebssystem-Schnittstellen zu erklären, zu untersuchen und in einfachen Programmen zu nutzen.
WOMIT
Die Studierenden erreichen dieses Lernergebnis, indem sie
- Programme in einer Unix-/Linux-ähnlichen Umgebung analysieren,
- einfache systemnahe Programme in C entwickeln und debuggen,
- den Weg von Quelltext bis zum laufenden Prozess nachvollziehen,
- Betriebssystemabstraktionen praktisch verwenden,
- Werkzeuge zur Systembeobachtung einsetzen.
WOZU
Die Studierenden nutzen diese Kompetenzen, um die Ausführung und das Verhalten von Programmen auf Systemebene nachvollziehen und einfache systemnahe Software entwickeln und beurteilen zu können. Dies bildet eine Grundlage für spätere Aufgaben in Betriebssystemen, hardwarenaher Entwicklung, IT-Sicherheit und technischer Fehlersuche.
- Userland, Kernel und Betriebssystem-Schnittstellen
- Shell, Prozesse, Dateien und Dateideskriptoren
- C als Sprache für systemnahe Programmierung
- Compiler, Linker und Loader
- Speicher, Adressräume und Debugging
- Systemaufrufe und Fehlerbehandlung
- Prozessmodell und Scheduling
- Interrupts und Virtualisierung im Überblick
- Systemnahes Programmierprojekt
Regelmäßige Bearbeitung von Übungsaufgaben.
Studien- oder Projektarbeit. Das Prüfungskonzept ist als Hausarbeit in Form eines systemnahen Programmierprojekts mit technischer Dokumentation und Fachgespräch ausgestaltet. Die Nutzung von KI-Werkzeugen ist zulässig, sofern sie in der Dokumentation kenntlich gemacht wird und die Studierenden die abgegebene Lösung fachlich erklären und vertreten können.
- Brian W. Kernighan; Dennis M. Ritchie: The C Programming Language. 2nd edition, Prentice Hall, 1988.
- Michael Kerrisk: The Linux Programming Interface. No Starch Press, 2010.
- Randal E. Bryant; David R. O’Hallaron: Computer Systems: A Programmer’s Perspective. 3rd edition, Pearson, 2016.
- W. Richard Stevens; Stephen A. Rago: Advanced Programming in the UNIX Environment. 3rd edition, Addison-Wesley, 2013.
- Andrew S. Tanenbaum; Herbert Bos: Modern Operating Systems. 4th edition, Pearson, 2015.