В списке рассылки ядра Linux представлена шестая версия патчей с реализацией механизма Kexec HandOver (KHO), развиваемого инженерами из компаний Amazon, Microsoft и Google. Патчи уже приняты в ветку mm-everything, в которой осуществляется накопление изменений для будущей ветки ядра 6.16, связанных с управлением памятью. На базе Kexec HandOver компания Google разрабатывает подсистему Live Update Orchestrator (LUO), позволяющую перезагружать ядро без остановки работы устройств.
Kexec HandOver предоставляет возможности для запуска нового ядра из старого без потери состояния системы. В данный момент вызов kexec() работает лишь как загрузчик, просто запускающий новое ядро, которое после этого полностью реинициализирует систему, что эквивалентно перезагрузке, только без участия прошивки. Предлагаемая серия патчей реализует другой подход. До передачи управления новой версии ядра, состояние ключевых подсистем ядра сериализируется в регион памяти, который не будет затронут дальнейшими операциями. Новое ядро, получив управление, восстанавливает сериализированное состояние обратно. С точки зрения остальных программ операция замены ядра является незаметной.
Kexec HandOver может оказаться полезным в ситуациях, когда остановка недопустима и необходимо обеспечить непрерывный цикл работы отдельных устройств. Например, на серверах виртуализации Kexec HandOver может применяться для обновления ядра (и гипервизора KVM), не затрагивая память, занятую виртуальными машинами, и сохраняя состояние их выполнения.
Источник: https://www.opennet.ru/opennews/art.shtml?num=63075