Logging problems are key features of any complex system in order to detect and locate any unexpected behavior. On Linux system, there are lots of solutions to generate debugging information for an unexpected behavior of a userspace application (log…
Tag : kernel
FlameGraph
Introduction Les outils de profilage permettent lors de l'exécution d'un logiciel de contrôler la liste des fonctions appelées, le temps passé dans chacune d'elle, l’utilisation des ressources processeur ou l'utilisation mémoire par exemple. Sous…
Le Temps Reel sous Linux
Dans cet article, nous allons discuter de l'intérêt ainsi que des avantages et inconvénients d’utiliser un noyau Linux temps réel. L'objectif de cet article n’est pas de décrire ce qu’est le temps réel mais pourquoi et comment l’utiliser. Aux…
My first Linux kernel built with Clang compiler!
Following his internship at Smile in 2018 on LLVM/Clang integration into Buildroot [1], Valentin Korenblit still maintains these packages on his spare time (thanks to him!), up to the latest current version llvm/Clang 8.0.0. At the same time the…
Les secrets du traceur eBPF
Introduction Le traçage permet d'instrumenter un noyau pour capturer les événements bas niveau (allocation mémoire, changement de contexte, réception d'un paquet réseau, ...,etc). Le traçage a fait l'objet des deux articles précédents, nous avons…
Les traceurs sous linux (2/2)
Introduction Les applications et les systèmes d'exploitation sont devenus très complexes, de nombreux outils de traçage sont apparus au cours de la dernière décennie. Leur but est d'instrumenter et optimiser la qualité des programmes en termes de…
Les traceurs sous linux (1/2)
Introduction L'analyse des performances est essentiel pour tout processus de développement d'une application logicielle. En plus du débogage, il est nécessaire d'utiliser des pratiques d'instrumentation pour garantir les performances attendues d'une…
Survol des outils de debug
Introduction Dans le développement de logiciels, le débogage consiste à localiser et à corriger les erreurs de code dans un programme informatique. Le débogage fait partie du processus de test logiciel et fait partie intégrante du cycle de vie du…
kernel, udev et systemd : la gestion du hotplug
La gestion des événements hardware est un domaine un peu mystérieux sous linux. Le noyau voit des événements, udev réagit, et il se passe des choses. Cet article va essayer de démystifier cet aspect des systèmes linux en implémentant quelque chose…
Secure Boot et UEFI
Introduction Le boot sécurisé, ou Secure Boot, est arrivé avec les EFI et permet de restreindre le lancement de certaines applications seulement au démarrage de la machine. Une application UEFI est un binaire au format Portable Executable, au même…