BIOS
Da Wikipedia, l'enciclopedia libera.
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. 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.
Indice |
[modifica] Avvio del PC
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 magnetico 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..
[modifica] BIOS riprogrammabile
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.
[modifica] Modifica delle impostazioni
Per accedere al menu di modifica del BIOS è necessario premere all'avvio dell'elaboratore (dopo alcuni sencondi 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.
[modifica] Firmware su schede di espansione
Un computer può integrare il proprio BIOS con altri moduli: esistono infatti schede di espansione che possono impiegare delle estensioni proprietarie del BIOS in aggiunta a quello collocato sulla scheda madre; di solito la scheda Video, ad esempio, o un controller SCSI.
Il BIOS della scheda madre, durante la fase di boot, può individuare nella memoria reale da 0xC8000 a 0xF0000 saltando di 2 kilobyte e cercando una firma "0x55 0xaa", che è seguita immediatamente da un byte che indica il numero di blocchi da 512 byte che l'espansione occupa nella memoria reale: il BIOS effettua una chiamata all'indirizzo seguente, che è la prima istruzione della subroutine di startup del BIOS della periferica e registra gli interrupt necessari, svolge le funzioni diagnostiche e fornisce a video informazioni sulla scheda di espansione installata.