Drucken

Systemprogrammierung in C

Die systemnahe Programmierung ist eine der Stärken der Programmiersprache C. In diesem Kurs werden wir deshalb die wichtigsten und am häufigsten verwendeten Funktionen gängiger Unix-Betriebssysteme (inkl. Linux) ansehen, wie beispielsweise Filedeskriptoren, Sockets, Prozesse, Pipes und Threads. Dadurch erlangen wir nicht nur ein besseres Verständnis der C-Programmierung sondern auch wie der Kernel funktioniert und angesprochen werden kann.

In diesem Kurs werden wir gemeinsam einen einfachen multithreaded Webserver mit CGI-Interface programmieren der mit Pipes und Semaphoren arbeitet.

 

Kursinhalte

  • Grundkonzepte der Unix Systemprogrammierung
  • Kernel vs Userspace
    • syscalls vs libc-Funktionen
  • Dateien
    • Unix-Konzept: Everythings a file
    • Dateien öffnen & schließen
    • Dateien lesen & schreiben
    • mmap(): Dateien & Memory Management (COW-Konzept)
    • Beispiel: cat auf 2 Arten
  • Sockets
    • Was ist ein Socket?
    • Socket-Typen
    • Client API
    • Server API
    • Beispiel: Mini-Server
  • Prozessmanagement
    • Was ist ein Prozess?
    • Prozesse klonen: fork(2) & vfork(2)
    • Applikation ausführen: exec*(3)
    • Prozess beenden: exit(3) vs _exit(2)
    • Beispiel: Prozess im Hintergrund ausführen
  • Pipes
    • Was sind Pipes?
    • Pipes erstellen: pipe(2)
    • Filedeskriptoren duplizieren mit dup2(2)
    • Beispiel: Ausgabe von Prozess lesen
  • Threads
    • Was sind Threads?
    • pthreads Library
    • Synchronisierung von Threads
    • Was bedeutet Threadsafety?
    • Wsa bedeutet reentrant?
    • Semaphoren
    • Mutex
    • Erstellen, beenden und warten auf Threads
    • Beispiel: Simultanberechnung
  • Abschlußbeispiel: multithreaded Webserver mit CGI-Interface

Empfohlene Vorkenntnisse

Dieser Kurs baut auf dem "C-Programmierung (Grundlagen)" Kurs auf. Das dort vermittelte Wissen wird hier vorausgesetzt.

Kurslänge: 2 Tage

Details zu diesem Open Source Training

Kurstitel: Systemprogrammierung in C
Kurspreis: 1.490,00 € exkl. MwSt
pro Teilnehmer, Standardpreis ohne Rabatt

Kursdatum:    
Kurszeiten:

Open date - Open date
09:30 - 17:00
Alternative Termine stehen am Ende dieser Seite


Dieses Training findet in der typischen Classroom Variante und in der Live Variante übers Internet via ZOOM Session statt. Sie können selber entscheiden welche Variante besser für sie passt.


Kursort:


Das Classroom Training findet statt bei:

LinuxCampus
Brodtischgasse 4
2700 Wr. Neustadt (Österreich) Austria
Website des Veranstaltungsortes
LinuxCampus
Das Live Training findet statt bei:

Sie können vom jedem Ort teilnehmen von dem Sie möchten und es ist keine Anreise notwendig. Sie benötigen nur eine Webcam, einen Webbrowser (ZOOM-Session) und einen VNC-Client für den Zugriff auf ihr Teilnehmer LAB.

Details:

Der Kurs ist auf 10 Teilnehmer beschränkt
Die Unterrichtssprache ist Deutsch
Die Kursunterlagen werden im PDF Format bereitgestellt
Jeder Teilnehmer erhält ein Kurszertifikat
Kalt- und Heißgetränke und Snacks werden kostenlos bereitgestellt

Kennen Sie schon das LinuxCampus.net Rabatt & Bonus System?

Den Kurstermin Open date - Open date buchen

Schritt 1:  Auswahl der Kursvariante (Classroom oder Live)
Schritt 2:  Angabe der Teilnehmer Daten

EUR 1.490,00
Tooltip
Erforderlich Tooltip
Tooltip
Tooltip
Tooltip
Erforderlich Tooltip
Tooltip
Erforderlich Tooltip
Erforderlich Tooltip
Erforderlich Tooltip
Erforderlich
Erforderlich Tooltip
Erforderlich Tooltip
Erforderlich Tooltip
Erforderlich Tooltip
Hiermit bestätige ich das ich die AGB gelesen und akzeptiert habe
Erforderlich
1 Kursvariante
2 Anmeldedetails


Alternative Kursmöglichkeiten

Alternativer Kursort:
Dieses Thema kann auch als In-House Training oder Einzeltraining gebucht werden

Alternativer Termin:
Ab 3 Teilnehmern bieten wir Ihnen gerne einen auf Ihre Bedürfnisse abgestimmten Termin an

Weitere Termine zu diesem Kursthema

Datum Kurstitel Ort
ohne Datum Systemprogrammierung in C LinuxCampus

Diese Seite verwendet Cookies. Für eine uneingeschränkte Nutzung der Webseite werden Cookies benötigt. Sie stimmen der Verwendung von Cookies durch Anklicken von "OK" zu. Nähere Informationen finden Sie in unseren Datenschutzbestimmungen und unter dem folgenden Link "Weitere Informationen".