Articles corner

This page provides technical articles related to computer sciences essentially in the Linux environment. A french version of some of them have been published in GNU Linux Magazine France. You can find the most recent of them here.

23
October
2022
Redirection of Linux logging into systemd How the usual Linux logs resulting from a call to syslog() are redirected into the systemd's journal and then eventually redirected to the standard legacy daemons such as rsyslogd or syslog-ng.
30
November
2020
Cleanup of huge page files How to write an implicit cleanup of the backing files of the huge pages when an application terminates.
07
May
2020
Detailed approach of the futex The System V semaphores provided by Unix and later by Linux, are quite heavy from a performance point of view. With the futex coming from the researches of H. Franke, R. Russel et M. Kirkwood, a more efficient alternative is available.
This article aims at presenting the implementation details of the futex in the Linux kernel and how to use them as well as how the open sources libraries benefit from them.
05
May
2020
Systress Presentation (slides) of a tool named systress (SYstem STRESS) which evaluates the latency of a real-time system.
31
July
2019
Playing with SIGWINCH Description of the Linux SIGWINCH signal and how to manage it.
11
April
2019
Make a lightweight system() service Description of various solutions (especially ISYS and RSYS based on PDIP) to optimize applications using libc's system() service.
29
January
2011
Whirlwind tour of cmake Empirical approach to cmake through examples of applications.
02
January
2009
Design of an API for FTP clients This is an introduction to the FTP protocol along with the description of the source code of the FTP client API ROOF.
16
April
2014
Using pseudo-terminals to control interactive programs How to use pseudo-terminals (pty) to control interactive programs. This is an introduction to PDIP.
21
Oct
2020
Best practices for the C language preprocessor Description of various tips to use the C preprocessor efficiently for the sake of the robustness, portability and debuggability of the programs.