Appunti di Informatica: Boot, Bios, Partizione Il Boot Il termine di origine inglese boot (o bootstrap, o più raramente booting) indica, in generale, i processi che vengono eseguiti da un computer durante la fase di avvio, dall'accensione fino al completato caricamento del sistema operativo. Il termine originale inglese è bootstrap (lacci degli stivali), da cui la contrazione boot (e termini derivati come booting e reboot), e fa riferimento alla leggenda del Barone di Münchhausen e alla sua capacità di sollevarsi in aria "tirandosi per gli stivali". Il modo di dire inglese è pulling yourself up by your bootstraps. L'analogia è con il fatto (solo apparentemente paradossale) che, durante il bootstrap, il computer esegue un determinato processo allo scopo di mettersi in condizione di operare (eseguire processi). In italiano si può rendere questo concetto anche come "avvio" ("riavvio"), sebbene questi termini (come i loro corrispondenti diretti inglese "start" e "restart") abbiano generalmente una connotazione meno tecnica. Dalle espressioni boot e bootstrap anche in italiano sono derivati alcuni termini di gergo informatico come il verbo bootare (o boottare) o l'aggettivo bootabile (o boottabile) che si riferisce a un supporto di memorizzazione (per esempio un CD o un altro genere di disco) dal quale sia possibile caricare il sistema operativo all'avvio del computer (e quindi completare il boot). L'esecuzione corretta del booting è subordinata ad un buon funzionamento del firmware. All'accensione di un computer il processore resta inizialmente sospeso nello stato di RESET dall'hardware, che tiene attivo il corrispondente ingresso della CPU finché le tensioni di alimentazione non sono stabili. Appena il segnale di RESET viene disattivato il processore carica la sua prima istruzione da una locazione fissa del suo spazio di memoria, a cui di solito corrisponde una ROM o altra memoria non volatile. Si tratta quasi sempre di una istruzione di salto incondizionato (JMP) che porta l'esecuzione al vero inizio del programma di firmware (o del BIOS, se si tratta di un personal IBM compatibile) che poi prende il controllo del computer. Nel caso di dispositivi embedded dotati di semplice firmware, le procedure di bootstrap sono estremamente variabili da caso a caso, e non è possibile darne una descrizione esauriente. Nei personal computer IBM compatibili il firmware è costituito dal BIOS, che compie una serie di operazioni ben definite prima di caricare il sistema operativo e trasferire ad esso il controllo. Il boot loader Talvolta il codice nel primo settore di un disco non è quello del sistema operativo ma quello di un particolare programma, detto boot loader, il cui compito è di mostrare a video un menu da cui l'utente può scegliere quale, fra più sistemi operativi installati, far partire: una volta fatta la scelta il boot loader carica il codice del primo settore del sistema operativo scelto, che inizia l'esecuzione come fosse stato lanciato dallo stesso BIOS. Alcuni sistemi operativi possono ricevere dei parametri di boot, il boot loader può permettere di definire questi parametri sia in un file di configurazione che al momento del boot. Appunti di informatica: Boot, Bios, Partizione 1 Molte schede di rete ethernet dispongono di una funzionalità denominata Preboot Execution Environment (PXE), che permette di caricare un sistema operativo (o più spesso un boot loader) dalla rete invece che da un disco locale. Il Reboot L'espressione derivata 'Reboot' (analoga a "riavviare") si riferisce alla sequenza di spegnimento e riavvio del computer, di solito per installazioni di software di sistema o per riparare a gravi errori hardware o software che hanno compromesso la stabilità o le prestazioni della macchina. Il reboot può essere effettuato in tre modi: • • • spegnimento e riaccensione fisici (interruzione e ripristino della alimentazione elettrica). Chiamato hard reboot, è pericoloso sia per l'integrità dei dati che per quella dell'hardware e non dovrebbe mai essere effettuato se non in casi estremi; (per i PC che ne sono dotati) pressione del tasto di reset, che attiva il segnale di reset della CPU. Anche questo è un hard reboot ed anche questa è una operazione sconsigliabile, perché può creare perdite di dati, ma non presenta rischi per l'hardware. L'intera sequenza di operazioni di bootstrap del BIOS e del sistema operativo riparte da capo, tuttavia è possibile che alcuni dispositivi già in condizioni di errore prima del reset non rispondano al BIOS durante l'inizializzazione, costringendo ad uno spegnimento fisico della macchina. riavvio con combinazioni di tasti (p.e. su PC, nella piattaforma di Windows, attraverso la combinazione dei tasti Ctrl+Alt+Del, o nei sistemi UNIX Ctrl+Alt+SysReq+B) chiamato soft reboot: a differenza del boot completo, nel soft reboot non viene eseguito il POST e la ricerca di tastiera e video, ma il processo riparte circa dal passo 6 del paragrafo precedente (inventario dell'hardware). Il BIOS In informatica, il Basic Input-Output System o BIOS è il primo codice che viene eseguito da un personal Computer IBM compatibile dopo l'accensione, ed ha tre funzioni principali: • • • Eseguire una serie di test diagnostici per controllare lo stato di funzionamento dell'hardware e segnalare eventuali guasti rilevati tramite un codice sonoro (beep code); Localizzare il sistema operativo e caricarlo nella RAM; Fornire una interfaccia software per l'accesso alle periferiche e all'hardware del PC. Nei primi PC IBM il BIOS supportava tutte le periferiche e il DOS faceva completo affidamento su di esso per le operazioni a basso livello, ma con l'evoluzione tecnologica successiva le capacità offerte dalle routine di gestione del BIOS (all'epoca non aggiornabili, perché scritte in ROM) divennero rapidamente insufficienti. Attualmente i moderni sistemi operativi (Microsoft Windows e Linux) non usano più il BIOS per le loro operazioni di I/O ma accedono direttamente all'hardware. Il BIOS è scritto di solito nel linguaggio assembler nativo della famiglia di CPU utilizzata. Attualmente il BIOS dei PC è scritto su memorie EEPROM riscrivibili, quindi può essere modificato e aggiornato: generalmente i costruttori mettono a disposizione nuove versioni di BIOS per correggere difetti o aggiungere supporto a periferiche hardware non previste inizialmente. Appunti di informatica: Boot, Bios, Partizione 2 Tuttavia non è consigliabile aggiornare il BIOS di un PC senza un motivo ben preciso, perché l'operazione di aggiornamento, se non va a buon fine, può rendere il PC inutilizzabile. Il termine apparve per la prima volta con il sistema operativo CP/M e descriveva quella parte di CP/M che veniva caricata all'avvio e che si interfacciava direttamente con l'hardware. I computer che utilizzavano il CP/M avevano infatti solo un semplicissimo boot loader nella ROM. Anche le successive versioni del DOS avevano un file chiamato IBMBIO.COM o IO.SYS del tutto analogo. Pur essendo il termine BIOS un acronimo, c'è un richiamo alla parola greca (bios) vita. A partire dall'introduzione dei primi IBM PC XT e compatibili nell'agosto del 1981, è il BIOS che ha il compito di dare i primi comandi al sistema durante la fase di avvio, detta boot process. In questa fase, dopo i controlli preliminari sulla funzionalità dei componenti fondamentali (interrupt, RAM, tastiera, dischi, porte), il BIOS si interfaccia con la memoria CMOS, una memoria non volatile capace di mantenere anche a computer spento i parametri di configurazione che possono essere oggetto di modifica. In questa memoria, il BIOS è in grado di scrivere per memorizzare le necessarie modifiche alla configurazione e di leggere per stabilire dove si trova il sistema operativo da caricare per l'avvio. Nelle moderne implementazioni del BIOS possono essere selezionati i più diversi tipi di supporto per l'avvio e sono presenti numerose funzioni per la diagnostica e la personalizzazione di importanti funzioni relative all'utilizzo della RAM, alle opzioni per l'overclocking e sono presenti segnali di allarme in caso di malfunzionamenti delle ventole o eccessivi aumenti della temperatura.. Il BIOS a volte viene anche chiamato firmware, dal momento che è una parte integrante dell'hardware, pur essendo composto da istruzioni software. Prima del 1990 il BIOS veniva memorizzato su una o più ROM, chiaramente non riprogrammabili. Man mano che la complessità è aumentata, di pari passo con la necessità di aggiornamenti, si è diffusa la memorizzazione del firmware BIOS prima su EPROM, poi su EEPROM o flash memory così da permettere un rapido aggiornamento anche da parte dell'utente finale. La presenza di BIOS aggiornabili anche dall'utente, permette di ottenere ad esempio il supporto per CPU più aggiornate o dischi fissi più capienti. Per effettuare tali operazioni è indispensabile consultare il manuale d'uso della scheda madre e/o il sito web del produttore. Dal momento che eventuali errori nell'aggiornamento del BIOS rendono il computer inservibile, alcune schede madri sono dotate di un doppio BIOS. Sono noti alcuni virus che sono in grado di sovrascrivere il BIOS, tuttavia la maggior parte dei sistemi è dotata di un'opzione nel BIOS stesso per disabilitare le funzioni di scrittura e - spesso - di un ponticello che disabilita le tensioni di programmazione necessarie per l'alterazione della EEPROM. Per accedere al menu di modifica del BIOS è necessario premere all'avvio dell'elaboratore (dopo alcuni secondi che si è premuto il tasto di accensione) un tasto o un combinazione di tasti. Se l'elaboratore ha iniziato a caricare il sistema operativo non è più possibile (eccetto alcuni casi) variare le impostazioni del BIOS. Questi i tasti più usati:Canc oppure Del • • • F2 F10 Alt-F1 Una volta entrati nel menu di impostazione del BIOS è sufficiente seguire le indicazioni. Appunti di informatica: Boot, Bios, Partizione 3 Il bios è normalmente in grado di caricare un sistema operativo da diversi dispositivi di memorizzazione di massa, come dischi fissi, floppy, CD-ROM, memorie USB, e spesso anche di eseguire un boot da rete attraverso PXE. Questo permette di caricare un sistema operativo diverso da quello previsto dall'amministratore di sistema, e quindi di eludere qualsiasi politica di sicurezza basata sul sistema operativo. Per questa ragione, se si suppone che persone non di fiducia possano avere accesso fisico al calcolatore, è opportuno configurare il bios per non consentire il boot da dispositivi diversi da quello previsto, e proteggere questa configurazione con una password. Tuttavia, avendo accesso fisico al calcolatore e la possibilità di aprirlo, è normalmente possibile azzerare le impostazioni del bios, tra cui la password. Quindi possono essere opportune anche misure per prevenire l'apertura del calcolatore. La Partizione La partizione in informatica consiste nella suddivisione di un'unità fisica (per esempio un hard disk) in più unità logiche. Le singole unità logiche vengono viste del sistema operativo come unità separate e possono essere formattate e gestite in modo indipendente. La partizione di un hard disk può essere effettuata per una serie di motivi, i principali sono: • Recuperare spazio utile In questo caso si suddivide l'hard disk dato che alcuni file system (tipo il FAT) sono estremamente inefficienti nel gestire hard disk di elevate capacità dato che sprecano moltissimo spazio utile nella memorizzazione di file di piccole dimensioni. Questo problema viene attenuato dalla partizione dato che il file system si trova a gestire unità logiche di capacità inferiore a quella dell'hard disk e quindi a sprecare meno spazio utile. • Installare più sistemi operativi Se l'utente ha la necessità di utilizzare più sistemi operativi sul medesimo computer deve necessariamente suddividere l'hard disk in più partizioni in modo da poter assegnare a ogni sistema operativo almeno una partizione da gestire. Ovviamente se l'utente ha più hard disk non è costretto a partizionare dato che può assegnare un intero hard disk a ogni sistema operativo. • Suddividere logicamente i dati Suddividere l'hard disk in più partizioni permette di suddividere logicamente anche i dati. Per esempio si potrebbe realizzare una partizione per i dati e una per il sistema operativo e le applicazioni. Con questa suddivisione logica in caso di malfunzionamento software del computer, l'utente potrà formattare la partizione con il sistema operativo e le applicazioni senza perdere i dati presenti nell'altra partizione. Le partizioni vengono normalmente gestite tramite apposite utility fornite assieme al sistema operativo, queste permettono di impostare e cancellare le partizioni e di modificarne alcuni parametri ma non permettono di modificarne le dimensioni senza perdere il contenuto. Per questa operazione è necessario utilizzare dei programmi appositi, il più conosciuto dei quali è Partition Magic attualmente commercializzato da Symantec. Esistono comunque alternative freeware e free software come GParted e QtParted. Appunti di informatica: Boot, Bios, Partizione 4