Специфікація Multiboot

Специфікація Multiboot (англ. Multiboot Specification) — відкритий стандарт, що описує процес початкового завантаження ядра і інших частин операційної системи програмою-завантажником.[1][2] Дана специфікація дозволяє будь-якому завантажнику, що підтримує multiboot, завантажувати ядро будь-якої операційної системи, адаптованої для даної специфікації. Таким чином усувається потреба у завантажникові, специфічному для кожної ОС. Також multiboot значно спрощує існування (і завантаження) кількох операційних систем на одному комп'ютері.

Перший варіант специфікації написаний 1995-го року і розвинений організацією Free Software Foundation. З операційних систем, що завантажуються саме таким методом, можна відзначити GNU Hurd, VMware ESXi, Xen, і ядра сімейства L4. Референсною (еталонною) реалізацією специфікації multiboot є завантажник GNU GRUB.[3]

Існує дві версії специфікації, несумісні між собою. Версія 0.x (станом на 2015 рік — 0.6.96, означена 2009-го року)[2] призначена винятково для платформи x86 і BIOS. Версія 2 (станом на квітень 2019 року — 2.0, означена 2016-го року) додає підтримку UEFI, а також не є прив'язаною до x86, підтримуючи і інші процесорні архітектури, такі як ARM.[4]

Сигнатура, або «магічне число», наявність якого ідентифікує ядро як multiboot-сумісне, повинна розміщуватися у перших 8 кілобайтах файлу ядра. Для Multiboot 0.x дана сигнатура дорівнює 0x1BADB002, для Multiboot 2, відповідно, 0xE85250D6.

Цікаво, що у 2017 році відомий розробник Ганс Петер Анвін висловився різко негативно про можливість додавання підтримки стандарту Multiboot до ядра Linux.[5]

Див. такожРедагувати

ДжерелаРедагувати

  1. Merino Vidal, Julio M. (March 1, 2007). Making NetBSD Multiboot-Compatible. ONLamp.com (O'Reilly Media). Процитовано October 2, 2012. 
  2. а б Ford, Bryan; Boleyn, Erich Stefan; FSF (2009). Multiboot specification (вид. 0.6.96). GNU. Процитовано 2013-10-11. 
  3. Booting with GRUB. OSDEV. June 25, 2006. Архів оригіналу за December 28, 2008. 
  4. Multiboot2 Specification version 2.0. www.gnu.org. Процитовано 7 April 2019. 
  5. Chao Peng. [RFC PATCH] x86/boot: make ELF kernel multiboot-able. LKML (en). 

ПосиланняРедагувати