Interactions entre espace utilisateur, noyau et matériel

Spécialité(s)


Résumé

Pour pouvoir comprendre ou écrire du code kernel, il est important de bien assimiler les échanges d'informations entre les différents composants du système. Nous examinerons dans cet article les communications et notifications entre l'espace utilisateur (les applications), le noyau Linux et le matériel sous-jacent.


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.

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

Cet article est réservé aux abonnés. Il vous reste 97% à découvrir.
S'abonner à Connect
  • Accédez à tous les contenus de Connect en illimité
  • Découvrez des listes de lecture et des contenus Premium
  • Consultez les nouveaux articles en avant-première
Je m'abonne


Article rédigé par

Abonnez-vous maintenant

et profitez de tous les contenus en illimité

Je découvre les offres

Déjà abonné ? Connectez-vous