Le noyau Kernel-rt est un noyau Linux spécial conçu pour assurer un fonctionnement en temps réel (RT). Le noyau-rt comprend des règles plus strictes de programmation et de gestion des ressources afin de minimiser la latence et la gigue, ce qui est souvent critique pour des systèmes tels que les systèmes de contrôle automatique, les équipements médicaux, etc.
Kernel-rt contient un patch preempt_rt qui permet au noyau Linux de passer rapidement d'une tâche à l'autre et de les exécuter avec une latence minimale. Le patch preempt_rt contient une implémentation de la méthode d'attente d'événements (Futexes), qui permet une communication inter-processus avec une latence beaucoup plus faible que dans les noyaux Linux standard.
Le noyau Linux (Kernel) est le logiciel qui constitue la base du système d'exploitation Linux. Il fournit l'interface entre le matériel et les applications, gère la mémoire, les processus, le système de fichiers et d'autres aspects du système d'exploitation.
Kernel-rt (Real Time) est une version spéciale du noyau Linux qui permet un contrôle plus précis et prévisible des processus du système d'exploitation. Il est utilisé dans les tâches qui nécessitent une vitesse et une réactivité élevées, telles que l'automatisation des processus industriels, les télécommunications, les systèmes de contrôle des robots et bien d'autres.
Le noyau-rt offre également une meilleure compatibilité avec les applications en temps réel telles que les systèmes d'exploitation multitâches en temps réel (RTOS) utilisés dans les contrôleurs d'automatisation et autres systèmes de contrôle.
Il convient de noter que l'utilisation du noyau Kernel-rt peut nécessiter des connaissances et une expérience supplémentaires en matière de configuration du système d'exploitation, de sorte que son utilisation est généralement limitée aux experts et aux développeurs spécialisés dans les systèmes en temps réel.
Le noyau Kernel-rt a également ses propres inconvénients :
L'utilisation du noyau Kernel-rt nécessite une étude approfondie de ses caractéristiques, de ses avantages et de ses limites afin de faire le bon choix lors du développement de systèmes en temps réel.