Appels systèmes sous Linux

Magazine
Marque
GNU/Linux Magazine
Numéro
211
Mois de parution
janvier 2018
Domaines


Résumé
Où se trouve la frontière entre l'espace utilisateur et l'espace noyau ? Comment l'un et l'autre peuvent-ils interagir ensemble alors qu'ils ne s'exécutent pas avec les mêmes privilèges ? Comment une application peut-elle invoquer des fonctionnalités du système d'exploitation ? Autant de questions auxquelles nous allons tenter de répondre dans la suite de cet article.

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

Cet article est réservé aux abonnés. Il vous reste 92% à découvrir.
à partir de 21,65€ HT/mois/lecteur pour un accès 5 lecteurs à toute la plateforme
J'en profite


Articles qui pourraient vous intéresser...

Comment arrêter un ordinateur sans crise de nerfs ?

Magazine
Marque
GNU/Linux Magazine
Numéro
240
Mois de parution
septembre 2020
Domaines
Résumé

Quoi de plus normal qu'un enfant qui joue ? Le problème n'est pas pendant qu'il joue, c'est plutôt au moment de l'arrêt : que l'on ait accordé 1 h ou 2 h, cela se termine toujours par des cris « J'ai à peine fait 2 parties ! Ça fait même pas 10 mn que je joue ! ». La solution : ne plus intervenir directement !

Les 10 modules à connaître !

Magazine
Marque
GNU/Linux Magazine
HS n°
Numéro
110
Mois de parution
septembre 2020
Domaines
Résumé

Il est certains modules dont on ne peut se passer une fois qu’on les a découverts, des modules qui changent à jamais notre façon de coder, des modules dont on ne revient pas...

Zéro SQLi malgré les développeurs

Magazine
Marque
MISC
Numéro
111
Mois de parution
septembre 2020
Domaines
Résumé

Nous proposons une méthode pour effectuer des requêtes SQL qui garantit l'invulnérabilité aux injections SQL, y compris lorsqu'elle est utilisée par un développeur pressé ou incompétent, contrairement aux requêtes paramétrées. Basée sur l'utilisation d'arbres de syntaxe abstraite, elle permet facilement de construire des requêtes dynamiques et est plus facile à mettre en œuvre qu'un ORM. Nous proposons une bibliothèque Java implémentant nos idées, mais la méthode peut s'appliquer à d'autres langages de programmation et d'autres types de requêtes.

Les environnements virtuels : pourquoi et comment les utiliser

Magazine
Marque
GNU/Linux Magazine
HS n°
Numéro
110
Mois de parution
septembre 2020
Domaines
Résumé

Si vous êtes un Pythoniste débutant, vous en avez probablement entendu parler et si vous êtes confirmés, ils sont forcément tout le temps dans votre boite à outils.Aujourd’hui, ils sont faciles à utiliser, intégrés aux IDE et permettent une économie de temps considérable dans la gestion et la maîtrise de l’environnement de nos applications.