Na liście mailingowej jądra Linux Szósta wersja poprawek implementujących mechanizm Kexec HandOver (KHO), opracowana przez inżynierów z Amazon, Microsoft i Google, została wydana. Poprawki zostały już zaakceptowane w gałęzi mm-everything, która gromadzi zmiany związane z zarządzaniem pamięcią dla nadchodzącej gałęzi jądra 6.16. W oparciu o Kexec HandOver, Google rozwija podsystem Live Update Orchestrator (LUO), który umożliwia restartowanie jądra bez przestoju.
Kexec HandOver umożliwia uruchomienie nowego jądra ze starego bez utraty stanu systemu. Obecnie wywołanie kexec() działa jedynie jako bootloader, po prostu uruchamiając nowe jądro, które następnie całkowicie reinicjuje system, co jest równoważne z ponownym uruchomieniem, tyle że bez angażowania oprogramowania sprzętowego. Proponowana seria poprawek wdraża inne podejście. Przed przekazaniem kontroli do nowej wersji jądra, stan kluczowych podsystemów jądra jest serializowany do obszaru pamięci, na który nie będą miały wpływu dalsze operacje. Nowe jądro po otrzymaniu sterowania przywraca stan serializowany. Z punktu widzenia innych programów operacja podmiany jądra jest niewidoczna.
Przekazanie Kexec może być przydatne w sytuacjach, gdy wyłączenie systemu jest niedopuszczalne, a wymagana jest ciągła praca poszczególnych urządzeń. Na przykład, na serwerach wirtualizacji, przekazanie Kexec może służyć do aktualizacji jądra (i hypervisora). KVM), bez wpływu na pamięć zajmowaną przez maszyny wirtualne i zachowując ich stan wykonania.
Źródło: opennet.ru
