Header Background
Gesicherter Termin

Ihre Wahl!

Lernen Sie, wo Sie wollen!
Präsenz oder Online.

Bei Ihnen im Unternehmen oder in einem unserer 25 Schulungszentren.

Image not available
Gesicherter Termin

Weiterbildung für die Zukunft!

Virtuell

- Online

- Garantiert!

- Gemeinsam

Image not available
Virtual Classroom Schulungen
 
 
 

LFD401 Entwicklung von Anwendungen für Linux

Seminardauer: 5 Tage

Ziele

Lernen Sie, Anwendungen für Linuxsysteme zu entwickeln. In diesem Kurs erhalten Sie praktische Erfahrungen mit den notwendigen Werkzeugen und Methoden für die Entwicklung von Linx Anwendungen und lernen die Eigenschaften und Techniken kennen, die Linux so besonders machen.

Die Lernziele im Überblick

  • Tools und Methoden für die Entwicklung von Programmen mit C und für die System Programmierung unter Linux.
  • Debugging Techniken und Prozessmanagement
  • Linux-spezifische Paid- und System-Calls
  • u. v. m.

Die vermittelten Lerninhalte lassen sich in allen großen Linux-Distributionen anwenden.

Zielgruppe

Erfahrene Softwareentwickler

Voraussetzungen

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

Agenda

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
  • Internet Server

Sockets - Input/Output Operationen

  • write(), read()
  • send(), recv()
  • sendto(), recvfrom()
  • sendmsg(), recvmsg()
  • sendfile()
  • socketpair()

Sockets - Optionen

  • Socket Optionen abrufen und festlegen
  • fcntl()
  • ioctl()
  • getsockopt() und setsockopt()

Netlink Sockets

  • Was sind netlink Sockets?
  • Netlink Socket öffnen
  • netlink-Nachrichten

Sockets - Multiplexing und gleichzeitige Server

  • Multiplexierte und asynchrone Socket-I/O
  • select()
  • poll()
  • pselect() and ppoll()
  • epoll
  • Signal-gesteuerte und asynchrone I/O
  • Parallele Server

Inter Process Communication

  • Methoden der IPC
  • POSIX-IPC
  • System V IPC

Shared Memory

  • Was ist Shared Memory?
  • POSIX Shared Memory
  • System V Shared Memory

Semaphore

  • Was ist eine Semaphore?
  • POSIX-Semaphoren
  • System-V-Semaphoren

Message Queues

  • Was sind Message Queues?
  • POSIX Message Queues
  • System V Message Queues

Schulungsunterlagen

nach Absprache

Open Badges - Ihre digitalen Kompetenznachweise

Digital Skills Open Badges

Mit einer erfolgreichen Teilnahme an einer Schulung bei IT-Schulungen.com erwerben Sie nicht nur Wissen und Kompetenz, sondern erhalten auch zusätzlich zum Teilnahmezertifikat Ihr Open Badge als digitalen Kompetenznachweis.

Diesen erhalten Sie in Ihrem persönlichen und kostenlosen Mein IT-Schulungen.com Account. Ihre erworbenen Badges können Sie anschließend in sozialen Medien einbinden und teilen.

Infos zu den Vorteilen unter Badges

 

1.) Wählen Sie den Seminartyp:




2.) Wählen Sie Ort und Datum:

1.995,00 € Preis pro Person

spacing line2.374,05 € inkl. 19% MwSt
Verpflegung zzgl.
Seminarunterlagen zzgl.

Seminar jetzt anfragen Auf den Merkzettel
PDF IconPDF Icon

Christine Röppenack
Seminarberaterin
Telefon: 0911 6500 8 222
Email: info@it-schulungen.com

Digitale Zertifikate

Digital Skills Open Badge

Digitales Wissen & Kompetenzen erwerben & zeigen.

Mit Badges von IT-Schulungen erhalten Sie - neben dem Teilnahmezertifikat als PDF - ein Open Badge als Nachweis Ihrer Fertigkeiten mit Echtheitszertifikat.

Zeigen Sie Ihre Digital Skills mit Zertifikaten auf Plattformen wie LinkedIn, XING & Facebook, auf Ihrer Website und in E-Mail-Signaturen.

Mehr Infos zu Badges

 

Diese Seite weiterempfehlen:

0
Merkzettel öffnen
0
Besuchsverlauf ansehen
IT-Schulungen.com Control Panel
Warnung Icon Sie haben in Ihrem Browser Javascript deaktiviert! Bitte aktivieren Sie Javascript um eine korrekte Darstellung und Funktionsweise von IT-Schulungen zu gewährleisten. Warnung Icon