Boot loader: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica |
m Bot: Modifico: de:Bootloader; modifiche estetiche |
||
Riga 2:
Il termine deriva dal fatto che il processo di avvio di un computer viene chiamato [[bootstrap]] (dal detto [[lingua inglese|inglese]] ''to lift oneself by one's own bootstrap'', "tirarsi su per le fibbie degli stivali").
== Compiti ==
La funzione fondamentale di un boot loader è caricare ed eseguire un kernel di sistema operativo. Nella maggior parte dei casi, questo richiede di accedere alla [[memoria di massa]], per leggere il kernel di sistema operativo, e potenzialmente altri file. Nei casi più semplici, il boot loader contiene l'indirizzo dei blocchi di disco in cui sono memorizzati i file da caricare, e deve quindi essere aggiornato se questi file vengono modificati. L'accesso al disco spesso avviene attraverso le funzioni fornite dal [[firmware]] (il [[BIOS]] nei sistemi PC IBM compatibili).
Alcuni boot loader posseggono la capacità
Alcuni boot loader sono in grado di utilizzare le funzionalità fornite da alcune [[scheda di rete|schede di rete]] (tipicamente ethernet) per scaricare un kernel dalla rete, tipicamente via [[TFTP]].
Funzionalità aggiuntive presenti in alcuni boot loader:
Riga 13:
* Un boot loader può richiedere una password per consentire l'avvio del sistema.
== Realizzazione ==
Il boot loader viene in molti casi installato in una posizione specifica di uno specifico dispositivo di [[memoria di massa]], tipicamente nel primo blocco del primo [[disco rigido|disco]] ("primo" rispetto all'ordine con cui i dispositivi sono collegati al calcolatore), da dove viene caricato dal [[firmware]] del calcolatore.
Riga 20:
Esistono alcune limitazioni imposte dalla tecnica e dai produttori di hardware e firmware per cui solitamente si parla di boot in due stadi, lo stage 1 e lo stage 2, divisione logica che rispecchia la divisione fisica di molti boot loader moderni. Limitazioni di questo genere sono, per esempio, la possibilità di caricare dal dispositivo di boot nella [[RAM|memoria centrale]] solo una piccola quantità di byte e trovarla posizionata in un punto piuttosto sconveniente della memoria - è il caso emblematico dei sistemi basati sulla famiglia [[x86]] che carica i primi 512 byte che incontra sul dispositivo di boot a partire dall'indirizzo 0x0000:0x7C00 in avanti (ultimo byte in 0x0000:0x7E00).
=== 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 la prima [[partizione di boot]] 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 [[multitasking|multiprogrammazione]], la gestione delle risorse e così via.
Riga 30:
Per ulteriori informazioni circa quel che accade durante l'azione del boot loader, vedere la voce relativa alla [[Boot|fase di bootstrap]].
== Boot loader famosi ==
* [[LILO]] - usato storicamente da [[Linux]]
* [[GRUB]] - usato nei sistemi [[Linux]] moderni
Riga 45:
[[Categoria:Boot loader]]
[[de:
[[hu:Boot loader]]
|