Noyau de système d'exploitation

Page d'aide sur l'homonymie Pour les articles homonymes, voir noyau et kernel.

Un noyau de système d’exploitation, ou simplement noyau, ou kernel (de l'anglais[1]), est une des parties fondamentales de certains systèmes d’exploitation. Il gère les ressources de l’ordinateur et permet aux différents composants — matériels et logiciels — de communiquer entre eux.

En tant que partie du système d’exploitation, le noyau fournit des mécanismes d’abstraction du matériel, notamment de la mémoire, du (ou des) processeur(s), et des échanges d’informations entre logiciels et périphériques matériels. Le noyau autorise aussi diverses abstractions logicielles et facilite la communication entre les processus.

Le noyau d’un système d’exploitation est lui-même un logiciel, mais ne peut cependant utiliser tous les mécanismes d’abstraction qu’il fournit aux autres logiciels[note 1]. Son rôle central impose par ailleurs des performances élevées. Cela fait du noyau la partie la plus critique d’un système d’exploitation et rend sa conception et sa programmation particulièrement délicates. Plusieurs techniques sont mises en œuvre pour simplifier la programmation des noyaux tout en garantissant de bonnes performances.

Étymologie

Les premiers concepteurs informatiques avaient l’habitude de décrire les différentes couches logicielles d’un système par une analogie : celle du noyau de la noix[2].

En anglais, le mot « kernel » désigne le cerneau, la partie comestible de la noix, c'est-à-dire son cœur[3],[4]. A l'inverse, la coque (partie non comestible de la noix) est une enveloppe très dure qui entoure la partie comestible. En anglais cette coque est appelée « shell ».

Cette analogie permettait de comprendre que l’accès à la partie "comestible et incidemment cachée de la noix implique l'ouverture de la coque avec un instrument spécifique".

La dualité "cerneau / coque" illustre bien le rapport entre le kernel et shell et constitue un paradigme aisément extensible à l'ensemble de l'informatique. Celui-ci peut être aussi compris comme une succession d'étapes permettant de diffuser entre chaque niveau l'ensemble des apports de celui qui le précède pour servir une information de plus en plus enrichies mais également, à chaque niveau, partagée de façon différente : "si l le cerneau est nécessaire, seule la manière dont on peut le briser est d'une grande importance".

Dans d'autres langues
Alemannisch: Kernel
অসমীয়া: কাৰ্ণেল
azərbaycanca: Nüvə (kompüter)
bosanski: Kernel
galego: Kernel
magyar: Rendszermag
Bahasa Indonesia: Kernel (ilmu komputer)
Ilokano: Kernel
italiano: Kernel
日本語: カーネル
kurdî: Kernel
lumbaart: Kernel
lietuvių: Branduolys (OS)
Malagasy: Kernel
मराठी: केर्नेल
Bahasa Melayu: Inti (sains komputer)
မြန်မာဘာသာ: ကာနဲလ် (ကွန်ပျူတာ)
Nederlands: Kernel
norsk nynorsk: Operativsystemkjerne
sicilianu: Kernel
srpskohrvatski / српскохрватски: Kernel
slovenčina: Jadro (informatika)
српски / srpski: Jezgro operativnog sistema
Tagalog: Kernel
Tiếng Việt: Nhân hệ điều hành
中文: 内核