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.).
Durată
20 ore
Tipul de curs
Training
Limba
Engleză
Durată
20 ore
Locație
Training
Limba
Engleză
Cod
ADM-008
Labels
Middle
Training pentru 7-8 sau mai multe persoane? Personalizați antrenamentele pentru nevoile dumneavoastră specifice
Unix/Linux for embedded/telecom — Systems programming in POSIX® environments
Durată
20 ore
Locație
Training
Limba
English
Cod
ADM-008
Labels
Middle
€ 400 *
Training pentru 7-8 sau mai multe persoane? Personalizați antrenamentele pentru nevoile dumneavoastră specifice

Descriere

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.*).
certificat
După finalizarea cursului, se eliberează un certificat
în formularul Luxoft Training

Obiective

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.

Public țintă

  • Software developers

Cerințe preliminare

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";}

Foaia de parcurs

  • 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";}
Mai ai întrebări?
Conectați-văcu noi