2010-03-29 15 views

risposta

16

Il BIOS è ancora la prima cosa che gira sulla CPU appena avviata e responsabile dell'attivazione dell'hardware della scheda madre, l'impostazione delle modalità e dei registri di chipset di base, l'inizializzazione dell'hardware e l'esecuzione del codice che carica il kernel.

Il BIOS non è di solito utilizzato quando il kernel viene caricato, e dipende da un ambiente di esecuzione 16 bit rispetto all'ambiente modalità protetta a 32 o 64 bit che un kernel moderno opera.

L' il boot loader normalmente richiede le chiamate IO del BIOS per ottenere il kernel in memoria. Il BIOS viene sostituito anche in questo ruolo da un nuovo software di avvio come Coreboot per fornire tempi di avvio più rapidi. Un giorno EFI sostituirà il BIOS tradizionale e, auspicabilmente, il caricatore di avvio, passando il controllo direttamente al kernel dopo averlo caricato dallo storage.

La configurazione hardware rilevata, le impostazioni dell'intervallo di memoria e le tabelle dei metadati ACPI sono probabilmente gli unici dati basati su BIOS utilizzati dal sistema operativo dopo il caricamento del kernel. Qualsiasi codice ACPI eseguibile è codificato come linguaggio macchina ACPI ed è interpretato dal sistema operativo.

Qualsiasi buon libro tradizionale sulla programmazione di assiemi MS-DOS includerà informazioni sull'interfaccia di programmazione del BIOS. Scopri The Art of ASSEMBLY LANGUAGE PROGRAMMING

+2

Un sacco di codice BIOS viene eseguito anche durante la gestione dell'alimentazione, durante l'entrata e l'uscita dalla modalità standby. (Non esplicitamente parte di ACPI, ma codice incorporato nei gestori SMI che viene richiamato durante gli eventi ACPI.) –

1

Il più grande vantaggio di avere il controllo del sistema operativo nel corso del BIOS è ora quello di controllare le variabili livello hardware come la velocità della ventola, misuratori di temperatura, ecc

9

ho scritto BIOS per i computer notebook per diversi anni. Il BIOS fa un sacco di cose mentre il sistema operativo è in esecuzione.

Uno dei compiti principali è informare il sistema operativo quando si verificano molti eventi in modo che il sistema operativo possa sembrare intelligente (come se in qualche modo fosse riuscito a capire da solo queste cose). Ad esempio, il BIOS indica al sistema operativo quando: viene premuto il pulsante di accensione, le batterie vengono inserite o rimosse, l'alimentazione CA viene o viene, il sistema si connette o disconnette da una docking station, hard disk e o alcuni tipi di unità ottiche sono inseriti o rimosso.

La maggior parte dei computer portatili dispone di funzionalità che è possibile accedere/controllare tramite i tasti Fn e le applicazioni a livello di sistema operativo fornite dai produttori. Il BIOS risponde a questi tasti di scelta rapida e dispone di un codice per interfacciarsi con le app a livello di sistema operativo. Funzionalità come il controllo della luminosità dello schermo (che certi sistemi operativi richiedono compaiono da per il controllo) o il controllo dei LED bling rientrano in questa categoria.

Forse il compito più importante del BIOS è quello di spegnere il sistema quando si tiene premuto il pulsante di accensione per più di 4 secondi (per il ripristino dal sistema operativo si blocca!).

+0

Se questa pratica è ancora utilizzata, potresti spiegare come l'esecuzione entra nel BIOS per cominciare? Sembra impossibile sui sistemi operativi moderni senza che il sistema operativo abbia specificamente il problema di effettuare chiamate nel BIOS. –

+0

@R: comunemente lo SMI viene utilizzato per realizzare questo. Controlla la Modalità di gestione del sistema (http://en.wikipedia.org/wiki/System_Management_Mode) per ulteriori informazioni. – Atempcode

Problemi correlati