Специфікація 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. (1 березня 2007). Making NetBSD Multiboot-Compatible. ONLamp.com (O'Reilly Media). Процитовано 2 жовтня 2012.
  2. Ford, Bryan; Boleyn, Erich Stefan; FSF (2009). Multiboot specification (вид. 0.6.96). GNU. Процитовано 11 жовтня 2013.
  3. Booting with GRUB. OSDEV. 25 червня 2006. Архів оригіналу за 28 грудня 2008.
  4. Multiboot2 Specification version 2.0. www.gnu.org. Процитовано 7 квітня 2019.
  5. Chao Peng. [RFC PATCH] x86/boot: make ELF kernel multiboot-able. LKML (англ.).

Посилання

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.