Lorsqu'on aborde la programmation dans le noyau Linux, il n'est pas rare de se sentir un peu submergé par l'ensemble des concepts présents dans ce nouvel environnement. Si l'adaptation d'un driver existant pour supporter un nouveau matériel est souvent assez facile, il n'en reste pas moins que pour écrire du code portable et robuste, certains mécanismes doivent être bien compris. Nous allons en voir quelques-uns dans cet article.
1. Structure du système Linux
Le modèle des systèmes GNU/Linux repose sur trois éléments distincts comme on le voit sur la figure 1.
Fig. 1 : Modèle de système GNU/Linux.
Le matériel comprend le processeur (composé de diverses unités : CPU, ALU, FPU, MMU, etc.), la mémoire et les périphériques externes au processeur (contrôleur graphique, réseau, son, disque, etc.).
La partie logicielle est divisée en deux niveaux : l'espace utilisateur et l'espace noyau. Il y a une véritable frontière entre ces deux espaces. En effet, les processeurs...
