ORSYS formation
CONTACT - +33 (0)1 49 07 73 73
CONTACT - 📞 +33 (0)1 49 07 73 73    drapeau francais   drapeau anglais

Consult our trainings :

Unix/Linux system developer Training

Hands-on course
Duration : 4 days
Ref : LIS
Price  2021 : Contact us
  • Program
  • Participants / Prerequisite
  • Intra/Tailored

This training session will teach you how to make use of the wide and precise UNIX system interface to develop performant applications. You will learn to manage processes and threads, file systems, and memory allocation. At the end of this session, you will be familiar with network communication, signals, Posix and System V IPC.

Hands-on work

Progressive practicals and case studies will enable you to fully understand the presentation of the UNIX/Linux system programming interface.

Development method and tools

  • The linux distributions, open source software, licenses.
  • Compilers and associated tools, profilers and debuggers.

Hands-on work
Use of GDB, cscope and profiling with a simple application.


  • The UNIX processes, scheduling processes, priorities and processor affinity.
  • Live and death of a process. Fork, exec, exit and wait.
  • Security issues. Root and standard user, user ids.
  • Namespaces and application mobility.

Hands-on work
Creation of a simple multi-process application. Tests of some security issues like process running wild and handling with setrlimit(2).

Posix Threads

  • Programing with threads. Overview of Posix 1c threads.
  • Thread creation and termination. Thread scheduling.
  • Synchronizing Threads. Mutex and data protection, priority inversion.
  • Condition variable and flow control. Using signals and threads.

Hands-on work
A simple multi-thread application using mutexes and condition variables.

Files and filesystems

  • File handling.
  • Filesystems. Accessing metadata. Accessing directories.
  • I/O Multiplexing. Using poll and select.
  • Signals and events with multiplexed I/O

Hands-on work
A small program using fcntl(2) for file locking and accessing a directory.

Inter Process Communication

  • Message queues.
  • Shared memory.
  • Semaphores. Handling multiple semaphore sets.
  • Pipes. Standard I/O redirections.
  • Signals. UNIX signals implementation.

Hands-on work
Implementation of a client/server use case with the help of various technologies: message queues, shared memory and semaphores, pipes and signals.


  • Socket Interface.
  • Address and protocol management. TCP/IP interface.
  • Network daemons.
  • mplementation of network servers and super servers.

Hands-on work
Implementation of our client/server use case with the network interface.

Memory management and Time

  • Virtual memory.
  • Memory allocation.
  • Advanced use
  • Date and time. Timers and timeout.
  • Latencies and determinism.

Hands-on work
Test of various allocations schemes using malloc(3), brk(2) or mmap(2). Implementing good practice for real-time applications. Using the UNIX time interface to measure scheduling latency.

Advanced linker control

  • Security, real-time and multithreading.
  • Shared libraries.

Hands-on work
A multi-thread real-time application with a time share thread. Implementation of a memory allocation tracer with dlopen.

Participants / Prerequisite

» Participants

Tout public

» Prerequisite

Good knowledge of UNIX/Linux system and C programming language.

Contact Informations

By checking this box, I certify that I have read and accepted the conditions for the use of my data regarding the General Data Protection Regulation (GDPR).
You can at any time modify the use of your data and exercise your rights by sending an email to rgpd@orsys.fr
By checking this box, I agree to receive commercial and promotional communications from ORSYS Training*. You can unsubscribe at any time by using the link included in our communications.

Book your place

Submit your request

Time schedule

Generally, courses take place from 9:00 to 12:30 and from 14:00 to 17:30.
However, on the first day attendees are welcomed from 8:45, and there is a presentation of the session between 9:15 and 9:30.
The course itself begins at 9:30. For the 4- or 5-day hands-on courses, the sessions finish at 15:30 on the last day
linkedin orsys
twitter orsys
it! orsys
instagram orsys
pinterest orsys
facebook orsys
youtube orsys