Dans cet article, nous allons tenter de démystifier un peu la frontière entre espace noyau et espace utilisateur. Cette frontière est symbolisée par les appels dits systèmes, qui permettent à un programme tournant en espace utilisateur, d'invoquer une tâche en mode noyau. Les appels systèmes sont très souvent cachés à l'utilisateur via des API haut niveau tels que la glibc, la microlibc, etc. Mais il peut être aussi intéressant, dans le cadre d'une opération de reverse ou de débogage sur un binaire, de lister et d'identifier ces derniers afin de mieux comprendre comment l'application fonctionne ou dysfonctionne.
1. La frontière
Les systèmes d'exploitation modernes fonctionnent sur un modèle bipolaire, divisé d'une part par l'espace utilisateur, et d'autre part par l'espace noyau. L'espace utilisateur est l'espace commun de toutes les applications que nous, développeurs, créons. Cet espace est souvent dénommé aussi ring-3, en rapport avec la gestion des...
- 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