Chargement...
 
Skip to main content

Historique: Le noyau Linux

Aperçu de cette version: 66





Informations


Site web officiel : http://kernel.org/ Image .
Doc concernant la liste de développement du noyau : http://kernel.org/pub/linux/docs/lkml/ Image .
Les arbres de développement du noyau (GIT) : http://git.kernel.org/ Image .


Présentation


Le noyau, ou kernel en anglais, est la couche la plus basse du système Unix / Linux prenant en compte la gestion des périphériques à leurs plus bas niveaux. Il contient donc plusieurs pilotes (génériques ou spécialisés) pour l'aider à amorcer votre système.
Pour schématiser, le noyau va être le lien entre votre disque dur, votre clavier, votre écran, ... ... C'est la première couche logicielle permanente qui va être lancée au démarrage de l'ordinateur. (BIOS >> Loader >> Noyau)

Le noyau Linux est naturellement performant en terme de gestion multi-tâche : chaque opération est découpée en une multitude de "processus légers", qu'un ordonnanceur (dans le noyau) organise en fonction de la priorité attribuée à l'opération. Ainsi, vous pouvez utiliser un grand nombre d'applications simultanément, celles-ci garderont un fonctionnement "fluide".

➡️ OK, mais pourquoi on me parle de ça sur un site dédié à la MAO ?


Explications


En matière de MAO, il peut être intéressant de prioriser davantage les processus audio pour diminuer la latence (temps de traitement). En fait cela dépendra surtout de vos besoins, la latence peut ne pas avoir d'importance pour vous (par exemple si vous éditez des partitions), ou au contraire être un élément déterminant (si vous voulez enregistrer 27 pistes en même temps).

Dans cette optique, on peut classer en 3 grands types les noyaux Linux disponibles :
  • Standard : le noyau livré sur la plupart des distributions généralistes.

  • Low Latency ("basse latence") : livré sur certaines distributions spécialisées MAO, Il ne s'agit pas d'un véritable noyau RT (bénéficiant de la realtime préemption), il offre un certain nombre d'améliorations permettant de réduire de façon significative la latence, tout en restant utilisable dans un cadre bureautique classique. C'est un noyau optimisé pour être plus performant qu'un noyau standard (activation de Preemptible Kernel (Low-Latency Desktop), configuration du Timer frequency à 1000Hz, etc.). De plus, il contient en général les patchs permettant le même support matériel qu'un noyau standard. Ce choix conviendra dans la plupart des cas, d'autant qu'il est en général installable très facilement via le gestionnaire de paquets de la plupart des distributions. S'il est théoriquement moins performant qu'un noyau patché RT, il est préférable pour une utilisation "mixte" (audio + bureautique par exemple), car les modifications apportées par le patch d'Ingo Molnar ne sont pas forcément compatibles avec une utilisation "standard", et de plus, un noyau "Low-latency" vous offrira déjà de quoi travailler dans des conditions confortables.

  • Realtime-preemption : c'est une fonctionnalité qu'offre un patch du noyau écrit par Ingo Molnar. Ce patch rend le noyau complètement "pré-emptible", ce qui réduit la latence et permet de la définir de façon garantie. On appelle couramment un noyau ainsi patché un noyau temps réel (ou noyau RT, ou encore "RT-kernel", ou alors "realtime kernel") : il transforme votre système en un véritable système temps-réel.

  • Real-Time ("temps réel") (RT): noyau modifié en profondeur (par un patch développé par les développeurs du patch RT) pour permettre un fonctionnement du type système temps réel. C'est celui qui vous permettra d'obtenir les meilleurs résultats en terme de latence, mais au prix d'une incompatibilité avec pas mal de patchs / modules du noyau (donc moins de support matériel). De plus, ce noyau peut poser des problèmes avec des applications boguées ou peu stables (difficile de reprendre la main sur une application plantée qui dispose d'une priorité maximale ! Ceci dit, nous pourrons allez voir du côté de das_watchdog pour éviter ce genre de comportement du système.).

Note : tordons ici le cou à la rumeur, il n'est pas nécessaire d'utiliser un Noyau Temps-Réel pour faire de la MAO. Si vous démarrez, commencez déjà par vous faire la main sur les noyaux fournis par votre distribution. D'autant plus que l'installation d'un noyau RT sur votre système demande de savoir précisément ce que l'on fait.

Bon, cette histoire des 3 grands types, c'est un résumé pour dégrossir un peu. Regardons ça de plus près.

Dans la configuration d'un noyau, on doit sélectionner un de ces choix :
Copy to clipboard
* ( ) No Forced Preemption (Server) * (X) Voluntary Kernel Preemption (Desktop) * ( ) Preemptible Kernel (Low-Latency Desktop)


Ce sont les 3 réglages de base du noyau Vanilla. À ceci peut venir s'ajouter :
  • le patch RT (la branche RT du kernel d'Ingo, voir son GIT)
  • le BFS (pour Brain Fuck Scheduler : le fameux patch de 200 lignes qui n'accélèrent pas la machine, mais qui ré-ordonne intelligemment les thread/process de manière à obtenir un système plus fluide à l'utilisation.)
  • les trucs offerts par rtlimits, RtKit qui permette de régler des trucs en simple utilisateur (ie : pas besoin d'être en super utilisateur)

Quelques différences et informations entre ces noyaux :
  • le patch RT (et donc le noyau du même nom) propose d'autres types d'améliorations que la latence. Une des plus utile pour nous est la suivante : il offre la possibilité de contrôler la priorité des IRQ grâce à l'utilitaire rtirq. Cette fonctionnalité n'est pas offerte par le noyau preempt. (Plusse d'info à ce propos : http://subversion.ffado.org/wiki/IrqPriorities).
  • le noyau preempt est un noyau avec quelques paramètres qui sont modifiés pour améliorer la performance en temps réel.
  • Lu sur le wiki de Mandriva : Temps Réel : le terme plus exact serait peut être "Temps Déterminé". Un système permettant de soumettre des tâches à des notions de temps précises et choisies. Le temps nécessaire pour obtenir les résultats d' opérations effectuées par les tâches choisies, est déterminé d'avance, ce temps est donc prédictible et peut être garanti.
  • Le noyau RT vient "nu" : il s' agit du kernel vanilla avec un seul patch, le fameux patch RT.

Rappel : l'installation de tout nouveau noyau nécessitera la mise à jour de votre gestionnaire de démarrage (Grub ou Lilo), puis un redémarrage de l'ordinateur.

➡️ Mais, comment savoir sous quel noyau on tourne ?


Comment savoir


Vous pouvez regarder la description de votre noyau dans votre gestionnaire de paquet ou bien alors utiliser l'une des deux commandes suivantes dans un terminal :
  • Copy to clipboard
    $uname -a Linux olinuxx-laptop 2.6.32-33-lowlatency #72 SMP PREEMPT Wed Aug 10 19:40:49 UTC 2011 i686 GNU/Linux
  • Copy to clipboard
    $cat /proc/version Linux version 2.6.32-33-lowlatency (pbuilder@pbuilder) (gcc version 4.4.3 (Ubuntu 4.4.3-4ubuntu5) ) #72 SMP PREEMPT Wed Aug 10 19:40:49 UTC 2011

Nous voyons bien ici la version du noyau avec la mention PREEMPT

Ou également (semble ne plus être d'actualité au 05 décembre 2010) :
Copy to clipboard
$cat /proc/sys/kernel/kernel_preemption 1

Le chiffre "1" confirme que le mode pré-emptif est actif (un 0 l'aurait infirmé)


Reconnaissance du matériel


Comment savoir si votre matériel son et reconnu par le noyau ? Cette commande peut vous y aider :
Copy to clipboard
lspci | grep [Aa]udio && lsusb| grep [Aa]udio && lsusb| grep Midi



Le noyau RT


Si les latences faibles vous intéresse, vous pouvez aller voir les pages dédiées : Le noyau Temps-Réel et Tuto Compiler un noyau Temps-Réel


Améliorations du noyau par rapport à chaque version


ALSA, qui est le cœur du "son" dans Linux, est intégré au noyau dans la majorité des distributions (2024).
Le noyau peut donc être amélioré à chaque nouvelle version pour ce qui concerne la prise en charge du matériel au travers des pilotes ALSA ou bien encore la manière de traiter le son au sein du système directement dans le code du noyau. La préemption en est un exemple lorsqu'on parle de noyau RT ou encore basse latence...
Il convient donc de vérifier quel matériel est nouvellement pris en charge par chaque version du noyau ainsi que d'éventuelles modifications qui pourrait modifier le comportement du système.
La page Améliorations audio par version de noyau se propose de lister ces modifications et permet d'en synthétiser les informations.





[+]

Historique

Avancé
Information Version
Vendredi 02 janvier 2026 19:41 olinuxx 67
Afficher
Vendredi 02 janvier 2026 19:41 olinuxx + cohérence wiki / mise en page + min/MAJ + espaces insécables 66
Afficher
Vendredi 01 mars 2024 00:20 jujudusud Ajout d'un paragraphe pour présenter la page Améliorations audio par version de noyau. 65
Afficher
Vendredi 06 novembre 2015 14:39 olinuxx Recherche et remplacement en masse 64
Afficher
Jeudi 04 septembre 2014 08:55 olinuxx Recherche et remplacement en masse 63
Afficher
Mercredi 27 février 2013 22:06 utilisateur_anonyme2 62
Afficher
Lundi 06 août 2012 20:51 olinuxx 61
Afficher
Lundi 06 août 2012 20:49 olinuxx 60
Afficher
Dimanche 17 juin 2012 12:50 olinuxx 59
Afficher
Dimanche 17 juin 2012 12:49 olinuxx +4 alias 58
Afficher
Lundi 21 mai 2012 16:01 olinuxx simplification code + balises CODE 57
Afficher
Lundi 21 mai 2012 11:00 pianolivier modif lien(s) interne(s) 56
Afficher
Lundi 21 mai 2012 10:41 pianolivier suppression des notes de travail 55
Afficher
Samedi 19 mai 2012 19:44 pianolivier 54
Afficher
Samedi 19 mai 2012 19:38 pianolivier 53
Afficher
Samedi 19 mai 2012 19:37 pianolivier renommage de la page +alias(noyau) 52
Afficher
Jeudi 17 mai 2012 18:19 pianolivier modif lien(s) interne(s) 51
Afficher
Samedi 12 mai 2012 13:35 pianolivier +1alias pratique 50
Afficher
Samedi 05 mai 2012 15:36 pianolivier +1 alias 49
Afficher
Lundi 09 avril 2012 16:38 pianolivier +BOX 48
Afficher
Dimanche 08 avril 2012 15:34 pianolivier +1 lien 47
Afficher
Mercredi 21 mars 2012 19:38 pianolivier fil d'ariane 46
Afficher
Mardi 20 mars 2012 22:05 pianolivier suppression BOX (début de réorga du dossier) 45
Afficher
Dimanche 11 mars 2012 14:48 pianolivier 44
Afficher
Dimanche 11 mars 2012 14:15 pianolivier mise en page 43
Afficher
Mardi 22 novembre 2011 20:04 pianolivier mise en page 42
Afficher
Vendredi 09 septembre 2011 18:17 pianolivier mise en page 41
Afficher
Vendredi 09 septembre 2011 04:18 olinuxx ecriture 40
Afficher
Vendredi 09 septembre 2011 04:17 olinuxx 2 solutions alternatives 39
Afficher
Jeudi 08 septembre 2011 19:26 pianolivier mise en page 38
Afficher
Lundi 07 mars 2011 13:47 neskweek Corrections concernant le BFS + modification de la commande pour connaitre la version de son noyau 37
Afficher
Jeudi 16 décembre 2010 17:13 olinuxx rédaction 36
Afficher
Jeudi 16 décembre 2010 17:12 olinuxx reconnaissance du matériel 35
Afficher
Jeudi 16 décembre 2010 07:09 olinuxx déplacement infos 34
Afficher
Mercredi 15 décembre 2010 17:54 olinuxx taille BOX 33
Afficher
Mercredi 15 décembre 2010 17:49 olinuxx mise à jour BOX 32
Afficher
Mercredi 15 décembre 2010 17:45 olinuxx 31
Afficher
Mercredi 15 décembre 2010 17:44 olinuxx box 30
Afficher
Mercredi 15 décembre 2010 17:43 olinuxx taille BOX 29
Afficher
Lundi 06 décembre 2010 11:28 olinuxx changement lien interne 28
Afficher
Dimanche 05 décembre 2010 10:54 olinuxx 27
Afficher
Dimanche 05 décembre 2010 10:51 olinuxx 26
Afficher
Dimanche 05 décembre 2010 10:50 olinuxx rédaction 25
Afficher
Dimanche 05 décembre 2010 10:28 olinuxx 24
Afficher
Dimanche 05 décembre 2010 10:27 olinuxx 23
Afficher
Dimanche 05 décembre 2010 10:21 olinuxx 22
Afficher
Dimanche 05 décembre 2010 10:21 olinuxx rédaction 21
Afficher
Dimanche 05 décembre 2010 08:54 olinuxx 20
Afficher
Dimanche 05 décembre 2010 08:53 olinuxx 19
Afficher
Dimanche 05 décembre 2010 08:50 olinuxx 18
Afficher
  • «
  • 1 (en cours)
  • 2