Nella mailing list del kernel Linux è stata presentata la sesta versione delle patch per l'implementazione del meccanismo Kexec HandOver (KHO), sviluppato da ingegneri delle aziende Amazon, Microsoft e Google. Le patch sono già state accettate nel ramo mm-everything, dove vengono accumulate le modifiche per il futuro ramo del kernel 6.16, relative alla gestione della memoria. Sulla base di Kexec HandOver, Google sta sviluppando il sottosistema Live Update Orchestrator (LUO), che consente di riavviare il kernel senza interrompere il funzionamento dei dispositivi.
Kexec HandOver offre la possibilità di avviare un nuovo kernel da uno vecchio senza perdere lo stato del sistema. Attualmente, la chiamata a kexec() funziona solo come un bootloader, avviando semplicemente un nuovo kernel che poi reinizializza completamente il sistema, il che è equivalente a un riavvio, ma senza l'intervento del firmware. La serie di patch proposta attua un approccio diverso. Prima di passare il controllo alla nuova versione del kernel, lo stato delle sottosistemi chiave del kernel viene serializzato in un'area di memoria che non sarà influenzata dalle operazioni successive. Il nuovo kernel, una volta ottenuto il controllo, ripristina lo stato serializzato. Dal punto di vista delle altre applicazioni, l'operazione di sostituzione del kernel è invisibile.
Kexec HandOver può essere utile in situazioni in cui l'interruzione non è accettabile e è necessario garantire un ciclo di lavoro continuo per singoli dispositivi. Ad esempio, nei server di virtualizzazione, Kexec HandOver può essere utilizzato per aggiornare il kernel (e l'ipervisore KVM), senza influenzare la memoria occupata dalle macchine virtuali, e mantenendo lo stato della loro esecuzione.
Fonte: opennet.ru
