Il
BIOS, acronimo di Basic Input/Output System, è un insieme di
programmi che risiedono in uno specifico chip all'interno del computer,
programmi che gestiscono tutta una serie di operazioni di base al
momento dell'avvio del computer prima che il controllo passi al sistema
operativo. Il BIOS si occupa quindi di configurare e controllare le
impostazioni e la configurazione dell'hardware del computer.
La storia del BIOS inizia quando Intel e IBM cominciano a produrre
i primi PC basati sul processore 8088 alla fine degli anni '70. Allora
Intel stipulò un accordo con Microsoft per la messa a punto
di un sistema operativo. Microsoft decise di dividere il sistema operativo
in due parti, la prima che comprendeva le operazioni di base per far
dialogare le varie componenti hardware del PC e che risiedeva in un
chip di memoria ROM (Read Only Memory, memoria di sola lettura). La
seconda parte del sistema operativo risiedeva su un floppy disk e
veniva caricato ad ogni avvio del PC ed era composto da un insieme
di programmi che interfacciavano il computer con l'utente permettendo
di svolgere una serie di operazioni di base. Intel decise allora di
sviluppare in modo indipendente le due parti: la prima fu chiamata
BIOS e la seconda DOS (Disk Operative System).
Con l'enorme diffusione che cominciò da subito ad avere il
computer si sviluppò un mercato parallelo di PC compatibili
con quelli IBM-Intel. Poichè IBM deteneva i diritti del BIOS
e non concesse licenze, i produttori furono costretti a sviluppare
il BIOS in proprio. Il primo caso fu quello della Compaq Computer
seguito da alcune ditte specializzate come la Phoenix Software Associate,
Award e AMI.
2.Le procedure
di avvio del BIOS e il POST
Il
BIOS
quindi non è altro che un insieme di programmi che vengono
eseguiti ogni volta che il computer viene acceso prima che il controllo
passi al sistema operativo e che risiedono in modo permanente in un
chip di memoria ROM. Il chip del BIOS è facilmente riconoscibile
all'interno del computer perchè risiede sulla scheda madre
e in genere porta sopra l'etichetta del produttore. I più recenti
chip del BIOS sono di tipo EEPROM (Electrically Erasable Programmable
ROM, ROM programmabile e cancellabile) e vengono comunemente indicati
col nome di Flash-ROM e di conseguenza i BIOS che risidono su questo
tipo di memoria vengono chiamati Flash-BIOS.
Al momento dell'avvio il processore esegue i programmi del BIOS e
li localizza in uno spazio riservato della memoria RAM, generalmente
negli ultimi 64Kb del primo Mega di memoria installata (alcuni BIOS
estesi utilizzano più dei 64Kb) e lì i programmi rimangono
a disposizione del sistema operativo nel caso ne avesse bisogno. Questi
programmi hanno l'incarico di verificare e identificare tutte le componenti
hardware all'interno del PC (Banchi di memoria, Hard Disk, CD-Rom,
schede installate, ecc).
Per prima cosa quando si avvia il computer, vengono mostrate sul monitor
alcune informazioni di base: produttore e versione del BIOS, la data
della versione dell'aggiornamento del BIOS e il
modello di scheda madre, combinazione dei tasti per accedere alle
impostazioni del BIOS, numero di serie del BIOS.
A questo punto viene mandato in esecuzione il POST (Power On Self
Test, test automatico di avvio) che è la procedura incaricata
di identificare e verificare lo stato del PC e delle sue componenti
hardware.
Sequenza
tipica dei test eseguiti durante il POST
Test dei registri del processore con identificazione
della CPU (viene mostrato il modello della CPU sul monitor) |
Controllo della ROM del BIOS |
Controllo della tastiera |
Controllo della memoria CMOS (memoria che contiene
le impostazioni del BIOS salvate) |
Test del Clock di sistema |
Test della quantita di RAM di sistema (viene mostrato
sul monitor la quantità di RAM e il tipo di memoria) |
Verifica della memoria base di 64 Kb per la copia
(shadowing) del BIOS |
Test e attivazione della memoria cache L2 del
processore |
Test della batteria della memoria CMOS |
Verifica delle differenti modalità video
con test della scheda video |
Test della modalità protetta |
Test del controller DMA, degli IRQ ed RTC |
Inizializzazione e programmazione del Plug&Play
e degli I/O (viene mostrata la configurazione degli IRQ sul
monitor) |
Inizializzazione del Chipset |
Verifica del floppy e delle unità IDE (viene
mostrato il modello delle unità IDE installate) |
Inizializzazione del PCI, shadow RAM e Power Manager |
Viene mostrata nel monitor la configurazione del
sistema |
... |
Naturalmente la sequenza del POST è molto più complessa
di quanto si può immaginare leggendo la precedente tabella
che non è esaustiva e mostra solamente i processi più
importanti e generici.
Nel caso durante il POST si verifichi una qualche anomalia l'utente
viene avvisato da una serie di beep sonori e da un messaggio sullo
schermo che identificano il tipo di errore che può portare,
nei casi più gravi, al blocco della procedura di avvio. Il
tipo di segnale sonoro di errore varia da produttore a produttore
è quindi fondamentale conoscere il produttore del BIOS per
poter determinare il codice dell'errore. Questi messaggi di errore
inoltre possono essere inviati sotto forma di codici di diagnostica
a delle particolari schede di espansione, chiamate schede POST
(POST-card) che in genere sono in dotazione ai centri di assistenza
ma sono in vendita anche nei normali negozi di computer, che permettono
di determinare il tipo di errore in modo molto più preciso.
[inserire tabella dei codici di errore in beep]
Terminata la sequenza del POST e inizializzati tutti i componenti
del PC il controllo passa a un processo del BIOS (o ISR - Interrupt
Service Routine, routine di servizio per gli interrupt)
esettamente all'INT 19h, che contiene la routine di avvio del sistema
operativo chiamata Bootstrap. In base alle impostazioni del
BIOS l'INT 19h legge il primo settore di boot della periferica definita
di avvio (che può essere per esempio il CD-ROM, il floppy o
l'Hard Disk) che contiene un programmino chiamato Bootstrap Loader
che può o avviare il sistema operativo o qualsiasi altro tipo
di programma.
Se la periferica selezionata dal BIOS come di avvio non contiene il
Boostrap Loader compare un messaggio di errore sul monitor: "No
boot device available" e il computer si blocca.
3.Modificare
il BIOS