Similitudes et différences des noyaux Linux et Windows
Qu'est-ce que le noyau ?
Le noyau est une partie fondamentale de tout système d'exploitation. Le profane moyen est béatement inconscient de son existence. Des millions de personnes utilisent un ordinateur chaque jour sans comprendre comment il fonctionne réellement. En général, seul un programmeur a affaire au noyau directement. L'installation d'un pilote de périphérique ou la configuration d'un protocole réseau est probablement la chose la plus proche que la plupart des gens auront jamais du noyau. Le noyau est le cœur du système d'exploitation au niveau le plus bas et le plus élémentaire. Sa fonction est vitale pour pratiquement toutes les opérations. Le noyau est à un système d'exploitation ce que le moteur est à une voiture. Sans le noyau, nous ne pourrions rien faire ou presque avec notre ordinateur.
Similitudes
Les noyaux de Linux et de Windows contrôlent tous deux le logiciel système de bas niveau et les interactions avec le matériel de l'ordinateur via la couche d'abstraction matérielle (HAL). De cette manière, le noyau maintient le reste du système d'exploitation indépendant du matériel, ce qui permet une portabilité beaucoup plus grande. Les noyaux des systèmes d'exploitation sont écrits dans un langage de haut niveau appelé C. Le langage C a été choisi parce qu'il a été porté sur pratiquement toutes les plates-formes matérielles existantes. La portabilité est importante pour les programmeurs et les sociétés de logiciels car elle signifie moins de travail, moins de temps et moins de dépenses. Les deux noyaux gèrent des éléments tels que les pilotes de périphériques, la mise en cache, la mémoire virtuelle, les protocoles réseau, les systèmes de fichiers, la création et la fin des processus et les appels système. L'objectif d'un noyau est similaire d'un système à l'autre mais l'approche peut être très différente d'un système d'exploitation à l'autre.
Le noyau dans Linux
Le noyau Linux fait référence à tout ce qui fonctionne en mode noyau et est composé de plusieurs couches distinctes. Au niveau le plus bas, le noyau interagit avec le matériel via le HAL. Au niveau intermédiaire, le noyau UNIX est divisé en 4 zones distinctes. La première des quatre zones gère les périphériques de caractères, les ATS bruts et cuits et la gestion des terminaux. La deuxième zone gère les pilotes de périphériques réseau, les protocoles de routage et les sockets. La troisième zone gère les pilotes de périphériques de disque, les caches de page et de tampon, le système de fichiers, la mémoire virtuelle, le nommage et le mappage des fichiers. La quatrième et dernière zone s'occupe de la répartition, de l'ordonnancement, de la création et de la fin des processus ainsi que de la gestion des signaux. Au-dessus de tout cela, nous avons la couche supérieure du noyau qui comprend les appels système, les interruptions et les pièges. Ce niveau sert d'interface à chacune des fonctions de niveau inférieur. Un programmeur utilise les différents appels système et les interruptions pour interagir avec les fonctionnalités du système d'exploitation.
Le noyau et le 'Kernel Mode' dans Windows
Le noyau au sein du système d'exploitation Windows est quelque peu différent de celui de LINIX car Microsoft a adopté une approche quelque peu différente de la conception du noyau. Le terme "mode noyau" fait référence non seulement au noyau lui-même, mais aussi au HAL et à divers services système. Cela inclut le HAL (hal.dll) à la couche inférieure, suivi du noyau à la deuxième couche. La troisième couche est le noyau. Au-dessus (quatrième niveau), nous avons divers gestionnaires pour les objets, les processus, la mémoire, la sécurité, le cache, le Plug in Play (PnP), l'alimentation, la configuration et les E/S. Le système de fichiers et Win32 GDI se trouvent également à ce niveau. La plupart des éléments de ce quatrième niveau sont appelés collectivement l'exécutif Windows (ntoskrnl.exe). Au sommet et à la cinquième couche du mode Kernel se trouvent les services système.
Résumé
Comme vous pouvez le voir, les systèmes d'exploitation Linux et Windows ont tous deux un Kernel qui exécute des fonctions similaires. Cependant, les deux noyaux sont conçus de manière assez différente. Dans le monde de l'informatique ; il existe de nombreuses façons d'atteindre les mêmes objectifs.
.