Accueil |

Noyau (informatique)

     

Le noyau est la partie fondamentale d'un système d'exploitation, il est le gestionnaire de ressources de la machine.

Généralement un noyau remplit les fonctions suivantes :

Il existe toute sorte de noyaux, plus ou moins spécialisés. Il existe des noyaux spécifiques à  une architecture, souvent mono-tache (MSDOS pas exemple), d'autre généralistes et souvent multi-tà¢ches et multi-utilisateurs.

Certains systèmes d'exploitation, comme GNU/Linux ou certains vieux Unix ont un noyau monolithique (modulaire dans le cas de Linux) qui fournit de riches et puissantes abstractions.

D'autres, comme Hurd, Windows XP, Mac OS X ou les BSD ont un micronoyau (Mach pour les trois premiers) qui fournit un ensemble réduit d'abstractions simples. D'autres encore ont un exonoyau qui ne fournit aucune abstraction. Dans ces deux derniers cas, les fonctions restantes nécessitent de petits modules qui peuvent être configurés avec flexibilité. Le micro ou exo noyau plus ces modules sont alors appelés 'noyau' au sens large.

On considère généralement les noyaux monolithiques comme démodés car difficiles à  maintenir et moins 'propres'. Linux était déjà  considéré démodé dès sa création en 1991, on ne croyait pas, à  l'époque pouvoir faire un noyau monolithique multi-plateforme et modulaire. Mais la mise en place de micronoyaux, même si elle est très interressante en théorie est difficile à  mettre en place. Ainsi les performances de Linux sont bien supérieures à  celles de ses concurrents, sans compter qu'il fut finalement porté sur de très nombreuses plateformes et qu'il est modulaire depuis 1995.

L'avenir appartient peut-être aux exonoyaux qui tireraient les avantages des deux systèmes.