Unix/Linux for embedded/telecom — Systems programming in POSIX® environments

Unix/Linux for embedded/telecom — Systems programming in POSIX® environments
This training course prepares developers to work on communication or embedded-style applications for GNU/Linux or other POSIX environment (BSD, QNX, etc.).
Czas trwania
20 hours
Typ kursu
Training
Język
English
Czas trwania
20 hours
Lokalizacja
Training
Język
English
Kod
ADM-008
Labels
Middle
Szkolenie dla #uczestników# lub większej liczby osób? Dostosuj treningi dla Twoich konkretnych potrzeb
Unix/Linux for embedded/telecom — Systems programming in POSIX® environments
Czas trwania
20 hours
Lokalizacja
Training
Język
English
Kod
ADM-008
Labels
Middle
€ 400 *
Szkolenie dla #uczestników# lub większej liczby osób? Dostosuj treningi dla Twoich konkretnych potrzeb

Opis

This training course prepares developers to work on communication or embedded-style applications for GNU/Linux or other POSIX® environment (BSD®, QNX®, etc.). The course will cover features common to the Unix family of operating systems, mainly APIs from the POSIX® standards (Portable Operating System Interface = IEEE Std 1003.*).
certificate
Po ukończeniu kursu na formularzu Luxoft Training
wydawany jest certyfikat

Cele

After finishing the course participants will be able to:
  1. Find the specific information required for their tasks in man pages or standard documents;
  2. Identify simple mistakes and problems/risks in a code that uses POSIX® APIs;
  3. Know what points to consider when designing or modifying embedded-style applications.

Grupa docelowa

  • Software developers

Warunki wstępne

Important:

  1. Good knowledge of the C programming language;
  2. Ability to use the command-line interface (shell) on GNU/Linux or other Unix system—at least basic tasks like file management, search;
  3. Basic notions of concurrent programming.

To benefit from some of the discussions, it would be nice to have:

  1. Actual development experience—at least debugging bigger C programs, preferably production code;
  2. Basic networking knowledge (TCP/IP introduction, let's say at the level of CCNA 1).
"TYPE"html";}

Plan działania

  • User-kernel interface (system calls, errno, libc)
  • Processes, signals
  • Universal I/O model: everything tries to be a file, or at least a stream of bytes — devices, sockets etc
  • File system
  • A few tools to explore Unix I/O and investigate a program's behavior: strace, dd, netcat/socat
  • Inter-Process Communication (IPC) — including shared memory, mappings (mmap).
  • Overhead: sources (system call, memory copy, scanning, memory allocation, etc.); minimizing overhead
  • POSIX® Threads (‘pthread’) API and its interactions with previously described features
  • Advanced I/O: non-blocking, Async, polling
  • Sync vs. Async, adapting between these approaches
  • Daemon processes
  • System startup

"TYPE"html";}
Nadal masz pytania?
Połącz sięz nami