Boot loader

programma che carica il kernel

Un boot loader,[1] in informatica, è il programma che, nella fase di avvio (boot) del computer, carica il kernel del sistema operativo dalla memoria secondaria (ad esempio un hard disk) alla memoria primaria (generalmente la RAM), permettendone l'esecuzione da parte del processore e il conseguente avvio del sistema.

GRUB

Il termine deriva dal fatto che il processo di avvio di un computer viene chiamato bootstrap (dal detto inglese to lift oneself by one's own bootstrap, "tirarsi su per le fibbie degli stivali"). Nel caso di più sistemi operativi installati sulla stessa macchina, il caricamento da parte del boot loader è preceduto dalla selezione del sistema operativo desiderato da parte dell'utente tramite il boot manager.

Esempio di boot a stadi

 
Das U-Boot

Ecco una sommaria descrizione di un possibile boot a stadi:

Stage 1

Lo stage 1, poc'anzi riferito anche come boot manager, si occupa di mansioni molto elementari e che possono essere codificate in relativamente poco spazio, come ricercare il primo volume di sistema sul disco di boot, cercare, caricare il secondo stadio, più complesso ed esteso, in memoria e passargli il controllo. In questo stadio possono essere effettuate anche minime inizializzazioni di sistema utili al secondo stadio ma non è sempre il caso.

Stage 2

Lo stage 2 è il vero e proprio gestore di avvio del programma esecutivo o del sistema operativo. Esso è molto più sofisticato, complesso ed esteso del primo stadio e si occupa principalmente, ma non solo, di scegliere quale kernel caricare in memoria per poi cedergli il controllo. Esso comincia ad assomigliare più nel dettaglio ad un vero e proprio sistema operativo per quanto minimale: è tuttavia più corretto chiamarlo programma esecutivo poiché manca di molte delle caratteristiche dei sistemi operativi moderni quali la multiprogrammazione, la gestione delle risorse e così via.

Un singolo boot loader è in grado di caricare molti tipi kernel (e quindi molti sistemi operativi) differenti su partizioni diverse. Naturalmente può essere caricato un solo kernel per volta.

Boot loader più conosciuti

Nota bene: quelli elencati sotto sono unicamente alcuni bootloader per PC[2] o simili (ad esempio i server). Inoltre, è da tenere presente che computer sono anche, ad esempio, un navigatore satellitare o un PLC e tanti altri tipi: questi hanno boot loader per lo più specifici.

I sistemi IBM, Blade server o mainframe, utilizzano bootloader proprietari[3] quando non direttamente i comandi contenuti nell'UEFI oppure (se sono sistemi nella configurazione Linux based) i bootloader visti sopra (o specifici bootloader Linux ricompilati specificatamente per i sistemi operativi delle macchine IBM come "Petitboot").

Bootloader mobile

Anche il sistema operativo di uno smartphone, tablet o palmare contiene un boot loader. Nel campo dei dispositivi mobili i bootloader dei sistemi operativi originali sono spesso modificati dagli OEM cioè i produttori del dispositivo, come succede per gli smartphone che montano Android. Questo, invece, non accade per i dispositivi Apple essendo realizzati dalla stessa azienda che sviluppa il sistema operativo (IOS).

I boot loader dei sistemi operativi installati su dispositivi mobili, con le relative limitazioni lato utente, hanno scatenato la "moda" del cosiddetto modding e delle operazioni conseguenti (rootare, sbloccare, flashare, ecc.)[4].

Note

  1. ^ Anche bootloader. Lett. "caricatore di avvio".
  2. ^ A parte Windows Boot Manager in quanto le edizioni Windows recenti si utilizzano anche per dispositivi mobili.
  3. ^ Questa è la situazione tipica del vecchio Os/400, ad esempio.
  4. ^ Guida al Bootloader: cos'è e a cosa serve - AndroidPIT

Voci correlate

Altri progetti

  Portale Informatica: accedi alle voci di Wikipedia che trattano di Informatica