kexec

Матеріал з Вікіпедії — вільної енциклопедії.
Версія від 10:39, 28 липня 2023, створена Олюсь (обговорення | внесок)
(різн.) ← Попередня версія | Поточна версія (різн.) | Новіша версія → (різн.)
Перейти до навігації Перейти до пошуку

kexec (kernel execution) — механізм ядра Linux, що дозволяє «live»-завантаження нового ядра з одночасно працюючим. kexec оминає стадію початкового завантаження операційної системи та фазу ініціалізації фізичних пристроїв за допомогою програмного забезпечення (firmware) або BIOS і напряму завантажує нове ядро, яке відразу стартує. Тому завантаження відбувається набагато швидше[1], це дуже необхідно для систем високої доступності, де важливе швидке перезавантаження.

Існують дві основні проблеми у реалізації такого механізму як kexec: по-перше, нове ядро буде переписувати пам'ять іншого ядра що в цей час виконується. По-друге, нове ядро, як правило, очікує, що всі фізичні пристрої знаходяться в чітко визначеному стані, як вони були після перезавантаження системи, коли BIOS (або мікропрограмне забезпечення) скидає їх у «розумний» стан. Пропуск реального перезавантаження означає що пристрої можуть бути в невідомому стані, і нове ядро має відновитися від цього.

Виноски

[ред. | ред. код]
  1. Reboot Linux faster using kexec. Архів оригіналу за 5 травня 2009. Процитовано 6 травня 2009.

Див. також

[ред. | ред. код]