Cosa fa il mio BIOS dopo l'avvio?

Sommario:

Cosa fa il mio BIOS dopo l'avvio?
Cosa fa il mio BIOS dopo l'avvio?

Video: Cosa fa il mio BIOS dopo l'avvio?

Video: Cosa fa il mio BIOS dopo l'avvio?
Video: 75 Curiosità che Dimostrano che nel Mondo C'è Ancora Tanto da Scoprire - YouTube 2024, Aprile
Anonim
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?
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?

La sessione di domande e risposte di oggi ci viene fornita per gentile concessione di SuperUser, una suddivisione di Stack Exchange, un raggruppamento di domande e risposte di community drive.

La domanda

Il lettore SuperUser Indrek pone questa domanda relativa al BIOS:

I always wondered whether the BIOS (apart from conducting POST, starting the bootloader and passing control to the OS after one presses the power button) has any purpose or function while the operating system is running?

Does the operating system communicate with the BIOS while running and if so, how?

Infatti? Che funzione ha il BIOS oltre al suo ruolo fondamentale nell'avvio del computer?

Le risposte

Per gentile concessione del collaboratore SuperUser Mechanical Snail, una panoramica di come il ruolo del BIOS è cambiato nel tempo e cosa è e cosa non sta facendo oggi:

Il ruolo del BIOS

Con i moderni sistemi operativi, 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 complessi codice 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, consultare Wikipedia.

Image
Image

Un altro collaboratore di SuperUser, Simon Richter, ci offre una panoramica delle cose che il BIOS fa ancora:

Il BIOS e la gestione energetica

Il BIOS fornisce numerosi servizi ai sistemi operativi, molti dei quali sono relativi alla gestione dell'alimentazione:

  • modifica della CPU e dei clock del bus
  • abilitazione / disabilitazione dei dispositivi della scheda madre
  • controllo dell'alimentazione della porta di espansione
  • suspend-to-disk e suspend-to-RAM
  • riprendere le impostazioni dell'evento

Suspend-to-disk è implementato nel sistema operativo il più delle volte in quanto il sistema operativo è in grado di 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 funzione 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.

Consigliato: