Course : Unix/Linux system developer

Practical course - 4d - 28h00 - Ref. LIS
Price : 2710 € E.T.

Unix/Linux system developer






INTER
IN-HOUSE
CUSTOM

Practical course in person or remote class
Disponible en anglais, à la demande

Ref. LIS
  4d - 28h00
2710 € E.T.







Practical details
Hands-on work
Progressive practicals and case studies will enable you to fully understand the presentation of the UNIX/Linux system programming interface.

Course schedule

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

2
Processes

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

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

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

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

6
Network

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

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

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


Customer reviews
4,7 / 5
Customer reviews are based on end-of-course evaluations. The score is calculated from all evaluations within the past year. Only reviews with a textual comment are displayed.
HILMI K.
15/09/26
5 / 5

I went over things I’d used before; I was able to understand points that had seemed unclear to me; I learnt new things; and I was even able to compare what I saw during the training with what I do at work. A very interesting training course; the content seems quite comprehensive to me, there’s a lot of detail and practical examples; the trainer has a good grasp of the subject and conveyed his knowledge to us clearly and simply.
JOSE C.
15/09/26
4 / 5

I’m satisfied; the training content met my expectations and even exceeded them. The trainer is knowledgeable and taught us effectively how to use the available documentation.
NICOLAS E.
17/03/26
5 / 5

The content was very good and the trainer was very attentive.



Publication date : 05/10/2024



This programme is an original creation, developed by the teaching teams at ORSYS Formation. Any reproduction, representation, adaptation or use, in whole or in part, without the prior written authorisation of ORSYS, is strictly prohibited. ORSYS reserves the right to take any action necessary to protect its intellectual property rights.


This programme is an original creation, developed by the teaching teams at ORSYS Formation. Any reproduction, representation, adaptation or use, in whole or in part, without the prior written authorisation of ORSYS, is strictly prohibited. ORSYS reserves the right to take any action necessary to protect its intellectual property rights.