Appels systèmes sous Linux

Magazine
Marque
GNU/Linux Magazine
Numéro
211
Mois de parution
janvier 2018
Spécialité(s)


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

La suite est réservée aux abonnés. Il vous reste 92% à découvrir.
  • 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
Envie de lire la suite ? Rejoignez Connect
Je m'abonne maintenant


Article rédigé par

Par le(s) même(s) auteur(s)

Gestion de conteneurs en Bash

Magazine
Marque
GNU/Linux Magazine
Numéro
218
Mois de parution
septembre 2018
Spécialité(s)
Résumé
Il existe de nombreuses solutions de gestion de conteneurs sous Linux, avec une prédominance pour Docker et LXC. Il ne faut pas oublier que ces solutions s'appuient essentiellement sur des fonctionnalités majeures de Linux, qui sont toutes disponibles depuis une simple console Bash.

Cloisonner une application simplement avec NsJail

Magazine
Marque
GNU/Linux Magazine
Numéro
216
Mois de parution
juin 2018
Spécialité(s)
Résumé

Comment durcir simplement notre système, quand ce dernier fait, et doit faire, tourner des applications tierces non maîtrisées ? Ce type de problématique s'est retrouvé au cœur de l'actualité quand est apparue la faille affectant ImageMagick. Comment limiter son champ d'action quand on connaît son périmètre fonctionnel pour un cas d'utilisation ?

Filtrez et limitez l'accès au Web avec Dansguardian

Magazine
Marque
GNU/Linux Magazine
HS n°
Numéro
93
Mois de parution
novembre 2017
Spécialité(s)
Résumé

On peut se réjouir qu'Internet reste une zone libre, où chacun peut s'y exprimer comme il le souhaite ou y trouver ce qu'il cherche. Mais pour  éviter de l'interdire aux personnes les plus sensibles, sous prétexte que l'on peut aussi y trouver du contenu blessant ou choquant, il existe des solutions permettant de filtrer certains sites, libérant les autres.

Les listes de lecture

Python niveau débutant

9 article(s) - ajoutée le 01/07/2020
Vous désirez apprendre le langage Python, mais ne savez pas trop par où commencer ? Cette liste de lecture vous permettra de faire vos premiers pas en découvrant l'écosystème de Python et en écrivant de petits scripts.

Au pays des algorithmes

11 article(s) - ajoutée le 01/07/2020
La base de tout programme effectuant une tâche un tant soit peu complexe est un algorithme, une méthode permettant de manipuler des données pour obtenir un résultat attendu. Dans cette liste, vous pourrez découvrir quelques spécimens d'algorithmes.

Analyse de données en Python

10 article(s) - ajoutée le 01/07/2020
À quoi bon se targuer de posséder des pétaoctets de données si l'on est incapable d'analyser ces dernières ? Cette liste vous aidera à "faire parler" vos données.
Plus de listes de lecture