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.).
Code: ADM-008
Duration: 20 hours


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.*).


  • 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


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.

Target Audience

  • Software developers



  1. Good knowledge of the C programming language;
  2. Ability to use the command-line interface (shell) on GNU/Linux or other Unix systemat 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 experienceat least debugging bigger C programs, preferably production code;
  2. Basic networking knowledge (TCP/IP introduction, let's say at the level of CCNA 1).

Register for the next course
Registering in advance ensures you have priority. Well notify you when we schedule the next course on this topic
Bucharest €350
Krakow €350
Wroclaw €350

Invoices for the course will be issued in local currency. All fees above can change according to training location and delivery mode and are subject to change while scheduling. For individual participants the price is as displayed. For legal entities VAT is added to the displayed price.

Courses you may be interested in:
15 hours
12 hours

Sign up

First Name*
Last Name*
Preferred Location
Your Comment
Luxoft Warsaw - Warsaw Spire, plac Europejski 1, 00-844 Warszawa
Dimitrie Pompeiu nr 5-7 , building C, Et. 5, sect 2, Bucharest, 014459

Contact phone:

021 371 4858
Luxoft Poland Wroclaw - Silver Tower pl. Konstytucji 3-go Maja 3 50-048 Wroclaw
Aleja Generała Tadeusza Bora-Komorowskiego 25, Quattro Business Park Five, 31-476 Kraków, Poland

Contact phone:

+48 122110650
Thank you.
Your request has been received.