kexec (kernel execution) — механізм ядра Linux, що дозволяє «live»-завантаження нового ядра з одночасно працюючим. kexec оминає стадію початкового завантаження операційної системи та фазу ініціалізації фізичних пристроїв за допомогою програмного забезпечення (firmware) або BIOS і напряму завантажує нове ядро, яке відразу стартує. Тому завантаження відбувається набагато швидше[1], це дуже необхідно для систем високої доступності, де важливе швидке перезавантаження.
Існують дві основні проблеми у реалізації такого механізму як kexec: по-перше, нове ядро буде переписувати пам'ять іншого ядра що в цей час виконується. По-друге, нове ядро, як правило, очікує, що всі фізичні пристрої знаходяться в чітко визначеному стані, як вони були після перезавантаження системи, коли BIOS (або мікропрограмне забезпечення) скидає їх у «розумний» стан. Пропуск реального перезавантаження означає що пристрої можуть бути в невідомому стані, і нове ядро має відновитися від цього.
Виноски
- ↑ Reboot Linux faster using kexec. Архів оригіналу за 5 травня 2009. Процитовано 6 травня 2009.
Див. також
- An elaborate article [Архівовано 5 травня 2009 у Wayback Machine.] on kexec's purpose and usage.
- A Gentoo article.
- Стаття «Reboot like a racecar with kexec» [Архівовано 14 лютого 2009 у Wayback Machine.].
Організація | Ядро | |
---|
Підтримка | - Розробники
- The Linux Programming Interface
- kernel.org
- LKML
- Linux conferences
- Користувачі
|
---|
|
---|
Реалізація | Debugging | - CRIU
- ftrace
- kdump
- Linux kernel oops
- SystemTap
- BPF
|
---|
Завантаження | - vmlinux
- System.map
- dracut
- initrd
- initramfs
|
---|
ABIs | - Linux Standard Base
- x32 ABI
|
---|
APIs | Kernel | System Call Interface | - POSIX
- ioctl
- select
- open
- read
- close
- sync
- …
- Linux-only
- futex
- epoll
- splice
- dnotify
- inotify
- readahead
- …
|
---|
In-kernel | |
---|
|
---|
Userspace | |
---|
|
---|
Компоненти | - модулі ядра
- BlueZ
- cgroups
- консоль
- bcache
- Device mapper
- dm-cache
- dm-crypt
- DRM
- EDAC
- evdev
- Kernel same-page merging (KSM)
- LIO
- Framebuffer
- LVM
- KMS driver
- Netfilter
- Netlink
- nftables
- Network scheduler
- perf
- SLUB
- zram
- zswap
- Process and I/O schedulers:
- O(n) scheduler
- O(1) scheduler
- Completely Fair Scheduler (CFS)
- Brain Fuck Scheduler
- Noop scheduler
- SCHED_DEADLINE
- initramfs
- KernelCare
- kexec
- kGraft
- kpatch
- Ksplice
|
---|
Variants | - Mainline
- High-performance computing
- INK
- Compute Node Linux
- SLURM
- система реального часу
- RTLinux
- RTAI
- Xenomai
- Carrier Grade Linux
- MMU-less
|
---|
|
---|
Adoption | Range of use | - Desktop
- Embedded
- Gaming
- Тонкий клієнт:
- Сервер:
- Devices
|
---|
Adopters | - List of Linux adopters
- GENIVI Alliance
|
---|
|
---|
- '
- Категорія:Ядро Linux
|