В списъка с предложения за ядрото на 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), без да засяга паметта, заета от виртуалните машини, и запазвайки състоянието на тяхното изпълнение.
Източник: opennet.ru
