Seminare
Seminare

LFD401 Entwicklung von Anwendungen für Linux

Seminar - IT-Schulungen.com

In dieser 5-tägigen Schulung "LFD401 Entwicklung von Anwendungen für Linux" erwerben Sie die Fähigkeiten zur Entwicklung von Anwendungen für Linux-Systeme. Dieser Kurs bietet praxisnahe Erfahrungen mit den notwendigen Werkzeugen und Methoden zur Entwicklung von Linux-Anwendungen. Sie werden die Besonderheiten und Techniken kennenlernen, die Linux zu einem herausragenden Betriebssystem machen.
Erhalten Sie vertiefte Einblicke in die Tools und Methoden zur Programmierung von Anwendungen in C sowie zur Systemprogrammierung unter Linux. Lernen Sie Debugging-Techniken und Prozessmanagement kennen. Entwickeln Sie ein Verständnis für Linux-spezifische Schnittstellen und Systemaufrufe. Setzen Sie Ihr erworbenes Wissen erfolgreich auf verschiedenen führenden Linux-Distributionen ein.
Diese Schulung vermittelt Ihnen das notwendige Wissen und die praktischen Fähigkeiten, um effektiv und erfolgreich Anwendungen für Linux zu entwickeln.


Termin Ort Preis*
09.09.2024- 13.09.2024 online 2.374,05 €
09.09.2024- 13.09.2024 Nürnberg 2.374,05 €
21.10.2024- 25.10.2024 online 2.374,05 €
21.10.2024- 25.10.2024 Nürnberg 2.374,05 €

Alle Termine anzeigen

*Alle Preise verstehen sich inkl. MwSt.

Detaillierte Informationen zum Seminar

Inhalte:

Compiler

  • GCC
  • Andere Kompiler
  • Wichtige gcc-Optionen
  • Präprozessor
  • Integrierte Entwicklungsumgebungen (IDE)


Bibliotheken

  • Statische Bibliotheken
  • Gemeinsame Bibliotheken
  • verlinken auf Bibliotheken
  • Dynamisches verlinken mit Loadern


Make

  • Verwendung von make und Make-files
  • Erstellen großer Projekte
  • Kompliziertere Regeln
  • Eingebaute Regeln


Source Control

  • Quellcode-Kontrolle
  • RCS und CVS
  • Subversion
  • git


Debugging und Core Dumps

  • gdb
  • Was sind Core-Dump-Dateien?
  • Erzeugen von Core-Dumps
  • Core-Dumps untersuchen


Debugging Tools

  • Electric Fence
  • Zeitmessung
  • Leistungsmessung und Profiling
  • valgrind


System Calls

  • System Calls vs. Datenbankfunktionen
  • Aufbau der Systemaufrufe
  • Rückgabewerte und Fehlermeldungen


Speicherverwaltung und Allocation

  • Speicher-Management
  • Dynamische Zuordnung
  • Abstimmung von malloc()
  • Sperrung von Seiten


Dateien und Dateisysteme in Linux

  • Dateien, Verzeichnisse und Geräte
  • Das virtuelle Dateisystem
  • Das ext2/ext3-Dateisystem
  • Journaling-Dateisysteme
  • Das ext4/-Dateisystem


File Input/Output

  • UNIX-Datei-I/O
  • Öffnen und Schließen
  • Lesen, Schreiben und Suchen
  • Positional- und Vektor-I/O
  • Standard-I/O-Bibliotheken
  • Large File Support (LFS)


Fortgeschrittene Dateioperationen

  • Statistik-Funktionen
  • Verzeichnis-Funktionen
  • inotify
  • Speicher-Zuordnung
  • flock() und fcntl()
  • Erstellung temporärer Dateien
  • Andere Systemaufrufe


Prozesse - I

  • Was ist ein Prozess?
  • Prozess Grenzen
  • Prozess Gruppen
  • Das proc-Dateisystem
  • Kommunikationsmethoden zwischen Prozessen


Prozesse - II

  • Verwendung von system() zur Erzeugung eines Prozesses
  • Prozess mit fork() erzeugen
  • Verwendung von exec() zur Erstellung eines Prozesses
  • Verwendung von clone()
  • Die Beendung
  • Konstrukteure und Destrukteure
  • Wartezustand
  • Daemon-Prozesse


Pipes und Fifos

  • Pipes und Inter-Prozess-Kommunikation
  • popen() und pclose()
  • pipe()
  • Name Pipes (FIFOs)
  • splice(), vmsplice() und tee()


Asynchroner Input/Output

  • Was ist asynchrone I/O?
  • Die POSIX-Asynchron-I/O-API
  • Linux-Implementierung


Signale - I

  • Was sind Signale?
  • Verfügbare Signale
  • Senden von Signalen
  • Warnungen, Pausierung und Ruhezustand
  • Einrichtung von Signal-Handlern
  • Signal-Sets
  • sigaction()


Signale - II

  • Wiederkehr und Signalhandler
  • Sprünge und nicht-lokale Rückkehr
  • siginfo und sigqueue()
  • Real-Time Signale


POSIX Threads - I

  • Multi-threading auf Linux
  • Grundlagen der Programmstruktur
  • Erstellung und Zerstörung von Threads
  • Signale und Threads
  • Forking vs. Threading


POSIX Threads - II

  • Deadlocks und Wettkampfbedingungen
  • Mutex-Vorgänge
  • Halbphasen (Semaphoren)
  • Futexe
  • Bedingungsabhängige Vorgänge


Netzwerke und Sockets

  • Netzwerk-Ebenen
  • Was sind Sockets?
  • Stream-Sockets
  • Datagramm-Sockets
  • Raw-Sockets
  • Byte-Ordnung


Sockets - Adressen und Hosts

  • Socket-Adress-Strukturen
  • Konvertierung von IP-Adressen
  • Host-Informationen


Sockets - Ports und Protokolle

  • Informationen zum Dienst-Port
  • Protokoll-Informationen


Sockets - Clients

  • Grundlagen der Client-Reihenfolge
  • socket()
  • connect()
  • close() and shutdown()
  • UNIX-Client
  • Internet-Client


Sockets - Server


Grundlagen der Server-Reihenfolge


bind()


listen()


accept()


UNIX-Server


Int

Ziele/Bildungsabschluss:

In dieser 5-tägigen Schulung "LFD401 Entwicklung von Anwendungen für Linux" erwerben Sie die Fähigkeiten zur Entwicklung von Anwendungen für Linux-Systeme. Dieser Kurs bietet praxisnahe Erfahrungen mit den notwendigen Werkzeugen und Methoden zur Entwicklung von Linux-Anwendungen. Sie werden die Besonderheiten und Techniken kennenlernen, die Linux zu einem herausragenden Betriebssystem machen.
Erhalten Sie vertiefte Einblicke in die Tools und Methoden zur Programmierung von Anwendungen in C sowie zur Systemprogrammierung unter Linux. Lernen Sie Debugging-Techniken und Prozessmanagement kennen. Entwickeln Sie ein Verständnis für Linux-spezifische Schnittstellen und Systemaufrufe. Setzen Sie Ihr erworbenes Wissen erfolgreich auf verschiedenen führenden Linux-Distributionen ein.
Diese Schulung vermittelt Ihnen das notwendige Wissen und die praktischen Fähigkeiten, um effektiv und erfolgreich Anwendungen für Linux zu entwickeln.


Teilnahmevoraussetzungen:

Für eine optimale Teilnahme am Kurs empfehlen wir folgende Vorkenntnisse:


  • Kenntnisse in der C-Programmierung
  • Vertrautheit mit Linux-Dienstprogrammen und Texteditoren


Lehrgangsverlauf/Methoden:

Die Schulung bietet Ihnen eine ausgewogene Mischung aus Theorie und Praxis in einer erstklassigen Lernumgebung. Profitieren Sie vom direkten Austausch mit unseren projekterfahrenen Trainern und anderen Teilnehmern, um Ihren Lernerfolg zu maximieren.


Zielgruppe:
  • Erfahrene Softwareentwickler


Seminarkennung:
NE-WEBDATE-2dd15893-5d2d-408c-8a88-c5c6d6daa791
Nach unten
Nach oben
Wir setzen Analyse-Cookies ein, um Ihre Zufriedenheit bei der Nutzung unserer Webseite zu verbessern. Diese Cookies werden nicht automatisiert gesetzt. Wenn Sie mit dem Einsatz dieser Cookies einverstanden sind, klicken Sie bitte auf Akzeptieren. Weitere Informationen finden Sie hier.
Akzeptieren Nicht akzeptieren









Um Spam abzuwehren, geben Sie bitte die Buchstaben auf dem Bild in das Textfeld ein:

captcha



Bei der Verarbeitung Ihrer personenbezogenen Daten im Zusammenhang mit der Kontaktfunktion beachten wir die gesetzlichen Bestimmungen. Unsere ausführlichen Datenschutzinformationen finden Sie hier. Bei der Kontakt-Funktion erhobene Daten werden nur an den jeweiligen Anbieter weitergeleitet und sind nötig, damit der Anbieter auf Ihr Anliegen reagieren kann.







Um Spam abzuwehren, geben Sie bitte die Buchstaben auf dem Bild in das Textfeld ein:

captcha