Comme c’est souvent le cas, un changement notable dans un prochain noyau Linux est à la fois historique et peu spectaculaire.
Si vous souhaitez utiliser “Linux en temps réel” pour votre matériel audio, votre laser de soudage industriel ou votre rover martien, vous avez eu cette option depuis longtemps (à condition de ne pas vouloir utiliser QNX ou d’autres alternatives). Des universités ont commencé à créer leurs propres noyaux en temps réel à la fin des années 1990. Un ensemble de patches, PREEMPT_RT, existe depuis au moins 2005. Et certains aspects du travail en temps réel, comme NO_HZ, ont depuis longtemps été intégrés dans le noyau principal, permettant son utilisation dans les centres de données, le cloud computing, ou tout ce qui a beaucoup de CPU.
Cependant, le caractère officiel a encore son importance, et dans le noyau 6.12, PREEMPT_RT va probablement être fusionné dans le noyau principal. Comme l’a noté Steven Vaughan-Nichols, le dernier feu vert de Linus Torvalds est intervenu alors qu’il assistait à l’Open Source Summit Europe. Torvalds a écrit le code original pour printk, un outil de débogage qui peut identifier les moments exacts où un processus échoue, mais qui introduit également de la latence, contraire à l’informatique en temps réel. Le blog Phoronix a suivi les progrès de PREEMPT_RT dans le noyau, ainsi que les changements apportés à printk qui ont permis le support de console multithread/atomique crucial pour l’intégration du temps réel.
Qu’est-ce que cela signifie pour Linux sur desktop ? Pas grand-chose. Au-delà de la production audio haut de gamme ou de la réplication (et même cela peut prêter à débat), un noyau en temps réel ne va probablement pas rendre les fenêtres plus réactives ou les programmes plus rapides. Mais les délais garantis d’exécution et les temps de latence maximale qu’un Linux en temps réel offre sont très utiles pour, par exemple, les systèmes qui surveillent les freins de voiture, guident les machines CNC et régulent des systèmes multi-CPU terriblement complexes. Avoir PREEMPT-RT dans le noyau principal facilite la maintenance d’un système en temps réel, plutôt que de gérer des patches externes.
Cela changera probablement les choses pour ce qui avait été, jusqu’à présent, des fournisseurs spécialisés de solutions de systèmes d’exploitation en temps réel pour des systèmes critiques. Ubuntu, par exemple, a commencé à offrir une version en temps réel de sa distribution en 2023 mais nécessitait un abonnement Ubuntu Pro pour y accéder. Ubuntu a proposé sa version en se concentrant sur la robotique, l’automatisation, Linux embarqué et d’autres besoins en temps réel, avec les corrections, les patches, l’intégration des modules et les tests fournis par Ubuntu.
“Contrôler un laser avec Linux est fou,” a déclaré Torvalds lors du Kernel Summit de 2006, “mais tout le monde ici est fou à sa manière. Donc, si vous voulez utiliser Linux pour contrôler un laser de soudage industriel, je n’ai aucun problème avec votre utilisation de PREEMPT_RT.” Environ 18 ans plus tard, Torvalds et l’équipe du noyau, y compris Steven Rostedt, mainteneur de longue date et champion du temps réel, ont facilité encore plus cette tâche.
En tant que journaliste passionné par l’évolution des technologies open source, je trouve fascinant de voir l’intégration de ces avancées dans le noyau principal de Linux. Cela ouvre de nouvelles possibilités pour des applications critiques qui nécessitent une réactivité optimale et une fiabilité accrue. L’impact de ces développements se fera certainement sentir dans les années à venir, en particulier dans des secteurs où la précision et le temps de réponse sont essentiels.