Quelle est la différence entre un noyau, un module et un pilote?


Réponse 1:

Le noyau est la partie centrale du système d'exploitation. Il exécute des programmes utilisateur, fournit divers services à ces programmes, maintient la mémoire et les interfaces avec le matériel via des pilotes. La plupart des pilotes sont des pilotes de périphérique, mais il existe également des éléments tels que les pilotes de système de fichiers, qui gèrent un système de fichiers.

Les pilotes de périphérique sont généralement écrits par les fabricants de matériel et fournissent un canal de communication entre le système d'exploitation et les périphériques matériels, tels que les imprimantes, qui ont des exigences que seul leur fabricant connaît.

Module est un terme générique, et il est trop vague pour dire ce qu'il pourrait signifier dans un contexte particulier.


Réponse 2:

Remarque: Cette réponse suppose un noyau Linux.

Une image du noyau offre les fonctionnalités attendues du cœur d'un système d'exploitation. Par exemple, la gestion de la mémoire et la gestion des processus.

Un module du noyau est quelque chose qui peut être inséré ou supprimé du noyau au moment de l'exécution, qui fournit des fonctionnalités supplémentaires. Alternativement, un module du noyau peut également être compilé dans le cadre de l'image du noyau. Les exemples incluent les systèmes de fichiers et la plupart des pilotes de périphériques.

Un pilote de périphérique est un logiciel qui permet au noyau de parler au périphérique. Comme mentionné précédemment, les pilotes de périphériques sont souvent implémentés en tant que modules du noyau.

En règle générale, toutes les fonctionnalités requises pour le démarrage d'un système d'exploitation sont compilées dans l'image du noyau principal. Toute fonctionnalité qui n'est requise qu'à un stade ultérieur peut être compilée en tant que module de noyau.