La série de correctifs de la sixième version de Kexec HandOver (KHO), développée par des ingénieurs des entreprises Amazon, Microsoft et Google, est présentée dans la liste de diffusion du noyau Linux. Les correctifs ont déjà été intégrés dans la branche mm-everything, où les modifications pour la future branche 6.16 du noyau, liées à la gestion de la mémoire, sont accumulées. Sur la base de Kexec HandOver, Google développe le sous-système Live Update Orchestrator (LUO), qui permet de redémarrer le noyau sans arrêter le fonctionnement des appareils.
Kexec HandOver permet de lancer un nouveau noyau à partir de l'ancien sans perte d'état du système. Actuellement, l'appel à kexec() fonctionne uniquement comme un chargeur, lançant simplement un nouveau noyau qui réinitialise complètement le système par la suite, ce qui équivaut à un redémarrage, mais sans l'intervention du firmware. La série de correctifs proposée met en œuvre une approche différente. Avant de transférer le contrôle à la nouvelle version du noyau, l'état des sous-systèmes clés du noyau est sérialisé dans une zone mémoire qui ne sera pas affectée par les opérations ultérieures. Le nouveau noyau, une fois en contrôle, restaure l'état sérialisé. Du point de vue des autres programmes, l'opération de remplacement du noyau est indétectable.
Kexec HandOver peut s'avérer utile dans des situations où l'arrêt n'est pas acceptable et où il est nécessaire d'assurer un cycle de fonctionnement continu de certains appareils. Par exemple, sur des serveurs de virtualisation, Kexec HandOver peut être utilisé pour mettre à jour le noyau (et l'hyperviseur KVM), sans affecter la mémoire occupée par les machines virtuelles, et en préservant l'état de leur exécution.
Source : opennet.ru
