2Aug
Una volta che il computer ha terminato il processo di avvio e si è fermamente all'interno del sistema operativo che ronza, è rimasto qualcosa da fare per il BIOS?
Today's Question &La sessione di risposta ci viene fornita per gentile concessione di SuperUser, una suddivisione di Stack Exchange, un raggruppamento di Q & A su un sito di community drive.
La domanda
SuperUser reader Indrek pone questa domanda relativa al BIOS:
Mi sono sempre chiesto se il BIOS( oltre a condurre POST, avviare il bootloader e passare il controllo al sistema operativo dopo aver premuto il pulsante di accensione) ha qualche scopo o funzione mentre il funzionamentosistema è in esecuzione?
Il sistema operativo comunica con il BIOS durante l'esecuzione e, in caso affermativo, come?
infatti? Che funzione ha il BIOS oltre al suo ruolo fondamentale nell'avvio del computer?
The Answers
Per gentile concessione di SuperUser contributor Mechanical Snail, una panoramica di come il ruolo del BIOS è cambiato nel tempo e cosa è e cosa non funziona oggi:
Il ruolo del BIOS
Con i sistemi operativi moderni, praticamente nessuno .Linus Torvalds ha riferito che il suo compito è "caricare il sistema operativo e uscire da lì".
I sistemi operativi precedenti come MS-DOS si affidavano al BIOS per molte attività( ad esempio l'accesso al disco), chiamando gli interrupt.
Con i moderni sistemi operativi, il bootloader passa rapidamente alla modalità a 32 o 64 bit ed esegue il kernel del sistema operativo. Il kernel può registrare i propri gestori di interrupt, che possono essere chiamati dalle applicazioni dello spazio utente. Le routine del kernel possono essere più portabili( dal momento che non dipendono dall'hardware specifico), più flessibili( i produttori di sistemi operativi possono modificarle su richiesta piuttosto che dover utilizzare tutto ciò che viene fornito con l'hardware), più sofisticate( possono eseguire arbitrariamente complessicodice piuttosto che cosa è stato programmato nel BIOS) e più sicuro( dal momento che il sistema operativo può controllare l'accesso alle risorse condivise e impedire ai programmi di clobbering l'un l'altro, implementando i propri schemi di autorizzazioni arbitrarie).
Per interagire con hardware specifico, i sistemi operativi possono caricare e utilizzare i propri driver di dispositivo. Quindi non è necessario che il sistema operativo o le applicazioni invochino la maggior parte delle routine del BIOS.Infatti, per motivi di sicurezza, gli interrupt del BIOS sono addirittura disabilitati. Dal momento che il BIOS vive in modalità reale a 16 bit è più difficile chiamare sistemi operativi moderni.
Mentre l'uso del BIOS è molto limitato durante l'esecuzione del sistema operativo, le sue funzioni sono ancora utilizzate in modo periferico. Ad esempio, quando un computer dorme, il sistema operativo non è in esecuzione e alla fine ricade sul firmware per impostare l'hardware sullo stato corretto per mettere in pausa e riprendere il sistema operativo. Questi usi sono generalmente limitati a ACPIcalls anziché alle chiamate all'interfaccia completa del BIOS.ACPI è un'estensione BIOS che "porta la gestione dell'alimentazione sotto il controllo del sistema operativo( OSPM), in contrasto con il precedente sistema BIOS-centrale, che si basava sul firmware specifico della piattaforma per determinare la gestione dell'alimentazione e il criterio di configurazione".
Si noti che ufficialmente "BIOS" si riferisce a una particolare interfaccia firmware, ma il termine è comunemente usato per riferirsi al firmware del computer in generale. Alcuni computer recenti( specialmente quelli Apple) hanno sostituito BIOS( sensu strictu) con UEFI, che ovviamente è ciò che viene chiamato per implementare queste funzioni.
Per ulteriori informazioni su come il ruolo del BIOS è diminuito nel tempo, vedere Wikipedia.
Un altro collaboratore di SuperUser, Simon Richter, ci offre una panoramica delle cose che il BIOS continua a fare:
BIOS e Power Management
Il BIOS fornisce numerosi servizi ai sistemi operativi, molti dei quali sono legati alla gestione dell'alimentazione: modifica
- i clock della CPU e del bus
- che abilita / disabilita i dispositivi della mainboard
- power control della porta di espansione
- suspend-to-disk e suspend-to-RAM
- riprende le impostazioni dell'evento
Suspend-to-disk è implementato nell'OS il più delle volte come OSpuò ripristinare il suo stato più velocemente( solo lo stato del kernel viene ricaricato e lo stato del programma viene scambiato quando richiesto, che è significativamente più veloce del ricaricamento dell'intera RAM), ma la funzionalità rimane nelle specifiche.
Suspend-to-RAM non può essere implementato dal sistema operativo, poiché si basa sul BIOS che ignora l'inizializzazione e il test della RAM, quindi il sistema operativo necessita di un'API per comunicare al BIOS che intende riprendere con i contenuti correnti della RAM.Per fornire questo servizio, il BIOS chiede al sistema operativo di lasciare intatta una determinata area RAM.
L'interfaccia per il sistema operativo per tutti i servizi BIOS è un pezzo di codice macchina virtuale che deve essere eseguito su un emulatore e che genera le operazioni di I / O necessarie nell'hardware. Per la sospensione, questo è generalmente implementato in modo tale che l'esecuzione di una delle scritture hardware innesca quindi un interrupt, che trasferisce il controllo al BIOS.
Hai qualcosa da aggiungere alla spiegazione? Sound off nei commenti. Vuoi leggere più risposte dagli altri utenti di Stack Exchange esperti di tecnologia? Controlla la discussione completa qui.