La question de la surchauffe des Macbook Pro sous Linux vs Mac OS X est posée sur les forums technologiques depuis 2006. Jusqu’à aujourd’hui. C’est donc dire que le problème n’est pas nouveau, ni réglé.

Pour comprendre la problématique, il faut remonter à un très vieux débat entre le concepteur de Linux — Linus Torvald — et celui de Minix — Andy Tanenbaum, ce dernier ayant prétendu, en 1992 déjà, à la victoire des Systèmes d’exploitation (SE / OS) dit « à micro-noyaux » (NeXT Step / Mac OS X et Windows dès la version XP, pour ne nommer qu’eux) sur ceux de type « monolithique » (DOS, BSD, Linux, Windows Vista, etc.)

Pour faire d’un long roman une histoire courte, disons qu’un SE / OS est composé d’un noyau (Kernel). Ce noyau est le centre névralgique de tout le système. C’est lui qui permet une bonne communication entre les éléments centraux de la machine (processeur, mémoire, ports, etc.) Selon le mode central adopté (monolithique, à micro-noyaux, ou monolithique-modulaire) l’on peut imaginer la kyrielle de processus qui évoluent à l’intérieur ou autour de ce noyau.

Un noyau monolithique contiendra un nombre formidable de processus (dont beaucoup même inutiles à telle ou telle machine, selon sa configuration) alors qu’à l’inverse, un système à micro-noyaux ne gardera que le minimum de processus en son centre, et n’enclenchera ses satellites (les micro-noyaux) qu’en cas de besoin, lesquels micro-noyaux activent les processus. Les systèmes monolithiques-modulaires se situent quelque part à mi-chemin, le noyau central activant les processus après s’être servi éventuellement des informations systèmes logées dans les modules satellites.

L’avantage d’un noyau monolithique est sa rapidité d’exécution (tous les processus se trouvent dans la même pièce). Revers de la médaille, il devient vite très complexe de lui changer des parties de son code. De même si un nouveau code doit être ajouté, qui contient une erreur, c’est la stabilité de tout le système qui est compromise. Cette difficulté a trouvé sa solution dans les systèmes monolithiques-modulaires (GNU / Ubuntu en est un bon exemple).

Les avantages des systèmes à micro-noyaux et monolithiques-modulaires est qu’ils sont plus faciles à faire évoluer. À contrario ils peuvent se montrer un peu moins rapide, les processus n’étant pas tous traités dans la même pièce, mais ayant à communiquer entre eux d’une chambre à l’autre. Quoi qu’il en soit la réputation de stabilité des systèmes à micro-noyaux n’est plus à faire, et le risque de plantage général est grandement réduit.

Il faut savoir que les micro-noyaux sont beaucoup plus compacts que les noyaux monolithiques. 6 millions de lignes de code pour le noyau Linux 2.6.0 contre en général moins de 50 000 lignes pour les micro-noyaux. La maintenance du code exécuté en mode noyau est donc simplifiée. Il est facile de comprendre que le nombre réduit de lignes de code peut augmenter la portabilité d’un système.

En conclusion, disons qu’on ne peut certainement pas réduire la question de la surchauffe d’un ordinateur à la simple présence du bon driver graphique ou non, cette dernière question n’étant que pour 2 à tout au plus 4 degrés soit 4 – 8% de la température atteinte. Il faut plutôt chercher la réponse dans la portabilité du noyau central. Un paquet central de 50 mille lignes de code à traiter, ou 6 millions de lignes, ce n’est pas pareil.

Disons qu’utiliser un Macbook Pro sous GNU Ubuntu ou Mac OS X, c’est comme conduire une Ferrari sans, ou avec un minimum des techniques de conduite EcoDrive. L’utilisation des ressources n’est pas la même. Y a-t-il une conduite qui puisse contribuer à prolonger la vie de sa voiture ou non, est-ce bien parfois de pousser le moteur de son engin ou pas — et pourquoi, dans quel but? — ces questions-là restent ouvertes.

Capture d'écran symbolisant un système d'exploitation à micro-noyaux

Les systèmes d’exploitation à micro-noyaux

About The Author