kexec (kernel execution) — механізм ядра Linux, що дозволяє «live»-завантаження нового ядра з одночасно працюючим. kexec оминає стадію початкового завантаження операційної системи та фазу ініціалізації фізичних пристроїв за допомогою програмного забезпечення (firmware) або BIOS і напряму завантажує нове ядро, яке відразу стартує. Тому завантаження відбувається набагато швидше[1], це дуже необхідно для систем високої доступності, де важливе швидке перезавантаження.
Існують дві основні проблеми у реалізації такого механізму як kexec: по-перше, нове ядро буде переписувати пам'ять іншого ядра що в цей час виконується. По-друге, нове ядро, як правило, очікує, що всі фізичні пристрої знаходяться в чітко визначеному стані, як вони були після перезавантаження системи, коли BIOS (або мікропрограмне забезпечення) скидає їх у «розумний» стан. Пропуск реального перезавантаження означає що пристрої можуть бути в невідомому стані, і нове ядро має відновитися від цього.
|
---|
| Організація |
Ядро |
|
---|
| Підтримка |
- Розробники
- The Linux Programming Interface
- kernel.org
- LKML
- Linux conferences
- Користувачі
|
---|
|
---|
| Реалізація |
Debugging |
|
---|
| Завантаження |
|
---|
| ABIs |
|
---|
| 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
|
---|
|
---|
| |
|