System-Programmierung

    Nummer
    syspr
    ECTS
    3.0
    Anspruchsniveau
    intermediate
    Inhaltsübersicht
    Moderne Betriebssysteme verfügen über eine normierte Programmier-schnittstelle, die es Anwendungsprogrammierern erlaubt, die Dienste des Betriebssystems auf effektive und sichere Art zu nutzen. Zudem wird auf diese Weise die Entwicklung von portablem Code ermöglicht. Die Studierenden erwerben Anwendungs- und Progammierkompetenzen in den Bereichen:
    • Kurs-Einführung in die Sprache „C“ und ihre Programmierumgebung
    • Unix/Linux und die System Call Schnittstelle
    • Der POSIX 1003 Standard für Betriebssysteme
    • Programmierung des Dateisystems
    • Programmierung des Prozess-Steuersystem inkl. „Threads“
    • Beurteilung und Programmierung verschiedener Arten der Prozess-Kommunikation.
    • Einsatz und Programmierung von Pipes, Signalen, Sockets, Shared Memory, Message Queues, Semaphore und Remote Procedure Calls
    • Programmiertechnische Aspekte von Parallelität, Nebenläufigkeit und Synchronisation
    Lernziele
    • Die Studierenden erlernen die Programmierung in der Programmiersprache "C", da der Unix/Linux-Kern und seine Basisanwendungen in dieser Sprache geschrieben sind.
    • Die Studierenden erlernen die praktische Nutzung der System Call Schnittstelle von Unix / Linux anhand einfacher, wiederverwendbarer Beispielprogramme.
    • Die Studierenden kennen die verfügbaren Mittel zur Interprozess- Kommunikation (IPC) und -Synchronisation
    • Die Studierenden können die erlernten IPC-Mechanismen nach je nach Anforderung gezielt auswählen und in einem "C"-Programm einsetzen.
    Empfohlene Vorkenntnisse
    Betriebssysteme (bsys)
    Leistungsbewertung
    Erfahrungsnote
    Zusatzinformationen
    Die Studierenden benötigen eine Unix- oder Linux-Instanz mit installierter C-Programmierumgebung (GNU C-Compiler „gcc“ oder Eclipse).