Skip to main content

Historique: Le noyau Linux

Aperçu de cette version: 61






Informations

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

Le noyau, ou Kernel, en anglais, est la couche la plus basse du systme Unix / Linux prenant en compte la gestion des priphriques leurs plus bas niveaux. Il contient donc plusieurs pilotes (gnriques ou spcialiss) pour l'aider amorcer votre systme.
Pour schmatiser, le noyau va tre le lien entre votre disque dur, votre clavier, votre cran, ... ... C'est la premire couche logicielle permanente qui va tre lance au dmarrage de l'ordinateur. (BIOS >> Loader >> Noyau)

Le noyau Linux est naturellement performant en terme de gestion multi-tche : chaque opration est dcoupe en une multitude de "processus lgers", qu'un ordonnanceur (dans le noyau) organise en fonction de la priorit attribue l'opration. Ainsi, vous pouvez utiliser un grand nombre d'applications simultanment, celles-ci garderont un fonctionnement "fluide".

➡️ OK, mais pourquoi on me parle de a sur un site ddi la MAO ?

Explications

En matire de MAO, il peut tre intressant de prioriser davantage les processus audio pour diminuer la latence (temps de traitement). En fait cela dpendra 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 lment dterminant (si vous voulez enregistrer 27 pistes en mme temps).

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

  • Low Latency ("basse latence") : livr sur certaines distributions spcialises MAO, Il ne s'agit pas d'un vritable noyau RT (bnficiant de la realtime premption), il offre un certain nombre d'amliorations permettant de rduire de faon 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 gnral les patchs permettant le mme support matriel qu'un noyau standard. Ce choix conviendra dans la plupart des cas, d'autant qu'il est en gnral installable trs facilement via le gestionnaire de paquets de la plupart des distributions. S'il est thoriquement moins performant qu'un noyau patch RT, il est prfrable pour une utilisation "mixte" (audio + bureautique par exemple), car les modifications apportes par le patch d'Ingo Molnar ne sont pas forcment compatibles avec une utilisation "standard", et de plus, un noyau "Low-latency" vous offrira dj 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 compltement "pr-emptible", ce qui rduit la latence et permet de la dfinir de faon garantie. On appelle couramment un noyau ainsi patch un noyau temps rel (ou noyau RT, ou encore "RT-kernel", ou alors "realtime kernel") : il transforme votre systme en un vritable systme temps-rel.

  • Real-Time ("temps rel") (RT): noyau modifi en profondeur (par un patch dvelopp par les dveloppeurs du patch RT) pour permettre un fonctionnement du type systme temps rel. C'est celui qui vous permettra d'obtenir les meilleurs rsultats en terme de latence, mais au prix d'une incompatibilit avec pas mal de patchs / modules du noyau (donc moins de support matriel). De plus, ce noyau peut poser des problmes avec des applications bogues ou peu stables (difficile de reprendre la main sur une application plante qui dispose d'une priorit maximale ! Ceci dit, nous pourrons allez voir du ct de das_watchdog pour viter ce genre de comportement du systme.).

Note : tordons ici le cou la rumeur, il n'est pas ncessaire d'utiliser un Noyau Temps-Rel pour faire de la MAO. Si vous dmarrez, commencez dj par vous faire la main sur les noyaux fournis par votre distribution. D'autant plus que l'installation d'un noyau RT sur votre systme demande de savoir prcisment ce que l'on fait.

Bon, cette histoire des 3 grands types, c'est un rsum pour dgrossir un peu. Regardons a de plus prs.

Dans la configuration d'un noyau, on doit slectionner 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 rglages 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'acclrent pas la machine, mais qui r-ordonne intelligemment les thread/process de manire obtenir un systme plus fluide l'utilisation.)
  • les trucs offerts par rtlimits, RtKit qui permette de rgler des trucs en simple utilisateur (ie : pas besoin d'tre en super utilisateur)

Quelques diffrences et informations entre ces noyaux :
  • le patch RT (et donc le noyau du mme nom) propose d'autres types d'amliorations que la latence. Une des plus utile pour nous est la suivante : il offre la possibilit de contrler la priorit des IRQ grce 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 paramtres qui sont modifis pour amliorer la performance en temps rel.
  • Lu sur le wiki de Mandriva : Temps Rel : le terme plus exact serait peut tre "Temps Dtermin". Un systme permettant de soumettre des tches des notions de temps prcises et choisies. Le temps ncessaire pour obtenir les rsultats d' oprations effectues par les tches choisies, est dtermin d'avance, ce temps est donc prdictible 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 ncessitera la mise jour de votre gestionnaire de dmarrage (Grub ou Lilo), puis un redmarrage 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 dcembre 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)

Comment savoir si votre matriel 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 intresse, vous pouvez aller voir les pages ddies : Le noyau Temps-Rel et Tuto Compiler un noyau Temps-Rel



[+]

Historique

Information Version
Fri 01 Mar 2024 00:20 jujudusud Ajout d'un paragraphe pour présenter la page Améliorations audio par version de noyau. 65
Afficher
Fri 06 Nov 2015 14:39 olinuxx Recherche et remplacement en masse 64
Afficher
Thu 04 Sep 2014 08:55 olinuxx Recherche et remplacement en masse 63
Afficher
Wed 27 Feb 2013 22:06 utilisateur_anonyme2 62
Afficher
Mon 06 Aug 2012 20:51 olinuxx 61
Afficher
Mon 06 Aug 2012 20:49 olinuxx 60
Afficher
Sun 17 Jun 2012 12:50 olinuxx 59
Afficher
Sun 17 Jun 2012 12:49 olinuxx +4 alias 58
Afficher
Mon 21 mai 2012 16:01 olinuxx simplification code + balises CODE 57
Afficher
Mon 21 mai 2012 11:00 pianolivier modif lien(s) interne(s) 56
Afficher
Mon 21 mai 2012 10:41 pianolivier suppression des notes de travail 55
Afficher
Sat 19 mai 2012 19:44 pianolivier 54
Afficher
Sat 19 mai 2012 19:38 pianolivier 53
Afficher
Sat 19 mai 2012 19:37 pianolivier renommage de la page +alias(noyau) 52
Afficher
Thu 17 mai 2012 18:19 pianolivier modif lien(s) interne(s) 51
Afficher
Sat 12 mai 2012 13:35 pianolivier +1alias pratique 50
Afficher
Sat 05 mai 2012 15:36 pianolivier +1 alias 49
Afficher
Mon 09 Apr 2012 16:38 pianolivier +BOX 48
Afficher
Sun 08 Apr 2012 15:34 pianolivier +1 lien 47
Afficher
Wed 21 Mar 2012 19:38 pianolivier fil d'ariane 46
Afficher
Tue 20 Mar 2012 22:05 pianolivier suppression BOX (début de réorga du dossier) 45
Afficher
Sun 11 Mar 2012 14:48 pianolivier 44
Afficher
Sun 11 Mar 2012 14:15 pianolivier mise en page 43
Afficher
Tue 22 Nov 2011 20:04 pianolivier mise en page 42
Afficher
Fri 09 Sep 2011 18:17 pianolivier mise en page 41
Afficher
Fri 09 Sep 2011 04:18 olinuxx ecriture 40
Afficher
Fri 09 Sep 2011 04:17 olinuxx 2 solutions alternatives 39
Afficher
Thu 08 Sep 2011 19:26 pianolivier mise en page 38
Afficher
Mon 07 Mar 2011 13:47 neskweek Corrections concernant le BFS + modification de la commande pour connaitre la version de son noyau 37
Afficher
Thu 16 Dec 2010 17:13 olinuxx rédaction 36
Afficher
Thu 16 Dec 2010 17:12 olinuxx reconnaissance du matériel 35
Afficher
Thu 16 Dec 2010 07:09 olinuxx déplacement infos 34
Afficher
Wed 15 Dec 2010 17:54 olinuxx taille BOX 33
Afficher
Wed 15 Dec 2010 17:49 olinuxx mise à jour BOX 32
Afficher
Wed 15 Dec 2010 17:45 olinuxx 31
Afficher
Wed 15 Dec 2010 17:44 olinuxx box 30
Afficher
Wed 15 Dec 2010 17:43 olinuxx taille BOX 29
Afficher
Mon 06 Dec 2010 11:28 olinuxx changement lien interne 28
Afficher
Sun 05 Dec 2010 10:54 olinuxx 27
Afficher
Sun 05 Dec 2010 10:51 olinuxx 26
Afficher
Sun 05 Dec 2010 10:50 olinuxx rédaction 25
Afficher
Sun 05 Dec 2010 10:28 olinuxx 24
Afficher
Sun 05 Dec 2010 10:27 olinuxx 23
Afficher
Sun 05 Dec 2010 10:21 olinuxx 22
Afficher
Sun 05 Dec 2010 10:21 olinuxx rédaction 21
Afficher
Sun 05 Dec 2010 08:54 olinuxx 20
Afficher
Sun 05 Dec 2010 08:53 olinuxx 19
Afficher
Sun 05 Dec 2010 08:50 olinuxx 18
Afficher
Sun 05 Dec 2010 08:50 olinuxx test BOX - 2 17
Afficher
Sun 05 Dec 2010 08:49 olinuxx test BOX 16
Afficher
  • «
  • 1 (en cours)
  • 2