GNU/Linux Magazine Hors-série N°
Numéro
87

Kernel - Le guide pour plonger au coeur de votre système GNU/Linux

Temporalité
Novembre/Décembre 2016
Image v3
Kernel - Le guide pour plonger au coeur de votre système GNU/Linux
Article mis en avant

Résumé

Le noyau est au cœur des systèmes d'exploitation. De tous les systèmes d'exploitation ? Oui, de tous, même de ce système qui résiste encore et toujours aux envahisseurs propriétaires, ce système que nous utilisons tous : GNU/Linux. Bien entendu, nous parlerons dans ce hors-série de ce noyau (ou kernel pour ceux qui préfèrent conserver la version non traduite) et délaisserons les noyaux des autres systèmes d'exploitation. Signalons par la même occasion la sortie prochaine du noyau 4.9 annoncée par Linus Torvalds le 15 octobre [1].

Dans ce numéro...


Bien que les distributions modernes incluent par défaut un noyau fonctionnel pour la plupart des situations, il est toujours intéressant de comprendre son fonctionnement et le rôle qu'il joue dans le système d'exploitation. Cet article va présenter les éléments essentiels d'un noyau GNU/Linux.
Le noyau fourni pour les distributions GNU/Linux est prévu pour répondre à de multiples usages, il est généraliste. Cet article va vous permettre de compiler un noyau à façon, plus compact et adapté au matériel présent.
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.
La technologie des conteneurs, comme LXC ou Docker, repose sur des fonctionnalités du noyau permettant de réaliser le cloisonnement des ressources d'un processus.
Le débogage noyau a longtemps été rendu difficile par le manque d'outils. Aujourd'hui, cette tâche est rendue facile par l'intégration d'outils dans la mainstream du noyau, ainsi que par des outils de virtualisation.
Le noyau est une cible parfaite pour attaquer le système de par son accès à la mémoire et aux séquences d’instructions qui y sont lues pour être exécutées. Il est alors possible, à l'aide de méthodes de détournement des appels systèmes, de cacher à l’administrateur des traces d’une intrusion ou intercepter des opérations en cours d’exécution par les utilisateurs du système informatique attaqué.
De nombreux fabricants de périphériques publient désormais des pilotes plus ou moins libres pour Linux, à défaut des spécifications (qui pourtant sont le « manuel utilisateur » pour nous développeurs), mais tous n’assurent pas forcément le suivi adéquat.
Cet article décrit l'implémentation noyau de KVM, ses interactions avec le matériel et les contraintes associées sur les architectures Intel et ARM. Il a également pour but de décrire ce qui n'est pas du ressort du module, et quels rôles ont réellement Qemu, le noyau et la libvirt dans l'exécution d'une machine virtuelle.
Le noyau Linux dispose d'une couche de sécurité lui permettant de se défendre des éventuelles attaques et de protéger ainsi les données des utilisateurs contre les systèmes dont la sécurité a été compromise. Cette couche de sécurité se manifeste sous la forme d'un Framework appelé LSM (Linux Security Module). Ce dernier permet de supporter différents modules de sécurité et parmi ces modules on peut citer SELinux (Security Enhanced Linux). SELinux renforce la sécurité système par le biais de règles de sécurité simples à mettre en œuvre, donnant le choix à l'administrateur de déployer la politique de sécurité qui lui convient le mieux et qui dépendra de ses besoins et de la stratégie à suivre.
Nous vous proposons un récapitulatif des différents termes techniques et surtout des nombreux acronymes que vous pouvez rencontrer dans les différents articles de ce hors-série afin de ne pas être gênés dans votre lecture.

Magazines précédents

Débutez en C++
GNU/Linux-Magazine Hors-série N°83
Débutez en C++
Créez votre première application Android
GNU/Linux-Magazine Hors-série N°82
Créez votre première application Android

Les derniers articles Premiums

Les derniers articles Premium

Cryptographie : débuter par la pratique grâce à picoCTF

Magazine
Marque
Contenu Premium
Spécialité(s)
Résumé

L’apprentissage de la cryptographie n’est pas toujours évident lorsqu’on souhaite le faire par la pratique. Lorsque l’on débute, il existe cependant des challenges accessibles qui permettent de découvrir ce monde passionnant sans avoir de connaissances mathématiques approfondies en la matière. C’est le cas de picoCTF, qui propose une série d’épreuves en cryptographie avec une difficulté progressive et à destination des débutants !

Game & Watch : utilisons judicieusement la mémoire

Magazine
Marque
Contenu Premium
Spécialité(s)
Résumé

Au terme de l'article précédent [1] concernant la transformation de la console Nintendo Game & Watch en plateforme de développement, nous nous sommes heurtés à un problème : les 128 Ko de flash intégrés au microcontrôleur STM32 sont une ressource précieuse, car en quantité réduite. Mais heureusement pour nous, le STM32H7B0 dispose d'une mémoire vive de taille conséquente (~ 1,2 Mo) et se trouve être connecté à une flash externe QSPI offrant autant d'espace. Pour pouvoir développer des codes plus étoffés, nous devons apprendre à utiliser ces deux ressources.

Raspberry Pi Pico : PIO, DMA et mémoire flash

Magazine
Marque
Contenu Premium
Spécialité(s)
Résumé

Le microcontrôleur RP2040 équipant la Pico est une petite merveille et malgré l'absence de connectivité wifi ou Bluetooth, l'étendue des fonctionnalités intégrées reste très impressionnante. Nous avons abordé le sujet du sous-système PIO dans un précédent article [1], mais celui-ci n'était qu'une découverte de la fonctionnalité. Il est temps à présent de pousser plus loin nos expérimentations en mêlant plusieurs ressources à notre disposition : PIO, DMA et accès à la flash QSPI.

Body