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.).
20 hours
Online
English
ADM-008
Unix/Linux for embedded/telecom Systems programming in POSIX environments
Sign Up
Duration
20 hours
Location
Online
Language
English
Code
ADM-008
Schedule and prices
€ 350
Training for 7-8 or more people? Customize trainings for your specific needs
Unix/Linux for embedded/telecom Systems programming in POSIX environments
Sign Up
Duration
20 hours
Location
Online
Language
English
Code
ADM-008
Schedule and prices
€ 350
Training for 7-8 or more people? Customize trainings for your specific needs

Description

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.*).
After completing the course, a certificate
is issued on the Luxoft Training form

Objectives

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

Prerequisites

Important:

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

Roadmap

  • 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

Schedule and prices
View:
Register for the next course
Registering in advance ensures you have priority. Well notify you when we schedule the next course on this topic
+
Courses you may be interested in
Linux Essentials
The purpose of this course is to provide an introduction to the Linux operating system, mainly from the perspective of a system administrator. The focus is on practical skills backed by hands-on examples, but adequate theoretical notions are also given when needed.
Linux Routing and Switching
The purpose of this course is to explore the most important aspects of networking in Linux, especially routing and switching. The approach of this training is mainly from an administrative point of view.
Python Basics
This Python training course leads the students from the basics of writing and running Python scripts to more advanced features such as file operations, regular expressions, error handling, system and network programming and the use of the extensive functionality of Python modules.
Online:
21.02.2023 - 28.02.2023
View Catalog
Your benefits
Expertise
Our trainers are industry experts, involved in software development project
Live training
Facilitated online so that you can interact with the trainer and other participants
Practice
A focus on helping you practice your new skills
Still have questions?
Connect with us
Thank you.
Your request has been received.
Thank you!
The form has been submitted successfully.