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

Écrire des mathématiques en LaTeX

Magazine
Marque
GNU/Linux Magazine
HS n°
Numéro
114
Mois de parution
mai 2021
Domaines
Résumé

S’il y a bien un domaine dans lequel excelle LaTeX, c’est l’écriture de formules mathématiques complexes et autres algorithmes. Une fois que l’on connaît et que l’on comprend la syntaxe, c’est très simple… encore faut-il avoir vu cela au moins une fois !

Application réseau avec Erlang : utilisation du protocole UDP

Magazine
Marque
GNU/Linux Magazine
Numéro
248
Mois de parution
mai 2021
Domaines
Résumé

La société Ericsson, pionnière dans le domaine des télécommunications, a été à l’origine de la création du langage Erlang. La bibliothèque standard offre toutes les méthodes pour gérer les connexions réseau, que ce soit pour créer son protocole au-dessus de TCP, UDP ou encore TLS, mais aussi en réutilisant des implémentations d’ores et déjà existantes au sein de l’écosystème fourni avec la release.

Neuropsydia : un module Python pour les neuropsychologues

Magazine
Marque
GNU/Linux Magazine
Numéro
248
Mois de parution
mai 2021
Domaines
Résumé

Il existe peu d’outils permettant de créer « simplement » du matériel d’évaluation neuropsychologique. Neuropsydia est un outil qui nécessite un minimum de connaissances en informatique, mais permet un gain de temps considérable, si l’on accepte d’écrire quelques lignes de code Python.

Web scraping avec Node.js

Magazine
Marque
GNU/Linux Magazine
HS n°
Numéro
114
Mois de parution
mai 2021
Domaines
Résumé

Le web scraping, c’est l’activité qui consiste à gratter (to scrap) du code HTML pour en extraire des données exploitables. Node.js se prête particulièrement bien à l’exercice, aussi je vous propose d’apprendre à gratter de la donnée avec ce formidable outil.

Intégration des alertes de Nagios dans Grafana

Magazine
Marque
GNU/Linux Magazine
Numéro
248
Mois de parution
mai 2021
Domaines
Résumé

Vous avez succombé à l’esthétique soignée des tableaux de bord de Grafana, mais vous ne pouvez pas vous passer de l’écran d’alertes du vénérable Nagios ! Alors, est-il possible de faire cohabiter ces deux produits ? Avec un peu de code Python, cela devrait être possible !