A lista de discussão do núcleo Linux apresenta a sexta versão dos patches com a implementação do mecanismo Kexec HandOver (KHO), desenvolvido por engenheiros das empresas Amazon, Microsoft e Google. Os patches já foram aceitos na branch mm-everything, onde são acumuladas as alterações para a futura versão do núcleo 6.16, relacionadas à gestão de memória. Com base no Kexec HandOver, a Google está desenvolvendo a subsistema Live Update Orchestrator (LUO), que permite reiniciar o núcleo sem interromper a operação dos dispositivos.
Kexec HandOver oferece a possibilidade de iniciar um novo núcleo a partir de um antigo, sem perder o estado do sistema. No momento, a chamada kexec() funciona apenas como um carregador, simplesmente iniciando um novo núcleo, que após isso reinicializa completamente o sistema, o que é equivalente a um reinício, mas sem a participação do firmware. A série de patches proposta implementa uma abordagem diferente. Antes de passar o controle para a nova versão do núcleo, o estado das principais subsistemas do núcleo é serializado em uma região de memória que não será afetada por operações subsequentes. O novo núcleo, ao assumir o controle, restaura o estado serializado de volta. Do ponto de vista de outros programas, a operação de substituição do núcleo é invisível.
Kexec HandOver pode ser útil em situações nas quais a parada é inaceitável e é necessário garantir um ciclo contínuo de operação de dispositivos específicos. Por exemplo, em servidores de virtualização, Kexec HandOver pode ser usado para atualizar o núcleo (e o hipervisor), sem afetar a memória ocupada por máquinas virtuais e mantendo o estado de sua execução. KVM), sem afetar a memória ocupada por máquinas virtuais, e mantendo o estado de sua execução.
Fonte: opennet.ru
