Che cosa accade esattamente quando si accende il computer?
Quando accendi un computer, passa attraverso un processo di "avvio", un termine che deriva dalla parola "bootstrap". Ecco cosa succede in background, sia che tu stia usando un PC Windows, un Mac o un sistema Linux.
L'hardware si accende
Quando si preme il pulsante di accensione, il computer fornisce alimentazione ai suoi componenti: scheda madre, CPU, dischi rigidi, unità a stato solido, processori grafici e tutto il resto del computer.
Il componente hardware che fornisce alimentazione è noto come "alimentatore". All'interno di un tipico PC desktop, sembra una scatola all'angolo del case (la cosa gialla nella foto sopra), ed è dove si collega l'AC cavo di alimentazione.
La CPU carica UEFI o BIOS
Ora che ha elettricità, la CPU si inizializza da sola e cerca un piccolo programma che è tipicamente memorizzato in un chip sulla scheda madre.
In passato, il PC caricava qualcosa chiamato BIOS (Basic Input / Output System.) Su PC moderni, la CPU carica invece il firmware UEFI (Unified Extensible Firmware Interface). Questo è un sostituto moderno per il BIOS vecchio stile. Ma, per rendere ancora più confuso, alcuni produttori di PC chiamano comunque il loro BIOS "BIOS" comunque.
L'UEFI o BIOS verifica e inizializza l'hardware
Il BIOS o il firmware UEFI carica le impostazioni di configurazione da un posto speciale sulla scheda madre, tradizionalmente, questo era in memoria, supportato da una batteria CMOS. Se si modificano alcune impostazioni di basso livello nella schermata delle impostazioni del BIOS o UEFI, è qui che sono archiviate le impostazioni personalizzate.
La CPU esegue UEFI o BIOS, che verifica e inizializza l'hardware del sistema, inclusa la CPU stessa. Ad esempio, se il tuo computer non ha RAM, emetterà un segnale acustico e ti mostrerà un errore, interrompendo il processo di avvio. Questo è noto come processo POST (Power On Self Test).
È possibile che il logo del produttore del PC venga visualizzato sullo schermo durante questo processo e spesso è possibile premere un pulsante per accedere alla schermata delle impostazioni BIOS o UEFI da qui. Tuttavia, molti PC moderni attraversano questo processo in modo così veloce da non disturbare la visualizzazione di un logo e richiedono l'accesso alla schermata delle impostazioni UEFI dal menu Opzioni di avvio di Windows..
UEFI può fare molto di più che solo inizializzare l'hardware; è davvero un sistema operativo minuscolo. Ad esempio, le CPU Intel hanno Intel Management Engine. Ciò offre una varietà di funzionalità, tra cui l'alimentazione della tecnologia Intel Active Management, che consente la gestione remota dei PC aziendali.
UEFI o BIOS trasferiti su un dispositivo di avvio
Dopo aver eseguito i test e inizializzato l'hardware, UEFI o BIOS assegneranno la responsabilità di avviare il PC al caricatore di avvio del sistema operativo..
UEFI o BIOS cercano un "dispositivo di avvio" da cui avviare il sistema operativo. Questo è solitamente il disco rigido del tuo computer o unità a stato solido, ma può anche essere un CD, DVD, unità USB o posizione di rete. Il dispositivo di avvio è configurabile dalla schermata di configurazione UEFI o BIOS. Se si dispone di più dispositivi di avvio, UEFI o BIOS tentano di trasferire loro il processo di avvio nell'ordine in cui sono elencati. Quindi, ad esempio, se hai un DVD avviabile nell'unità ottica, il sistema potrebbe provare a partire da quello prima di provare a partire dal tuo disco rigido.
Tradizionalmente, un BIOS esaminava l'MBR (master boot record), uno speciale settore di avvio all'inizio di un disco. L'MBR contiene il codice che carica il resto del sistema operativo, noto come "bootloader". Il BIOS esegue il bootloader, che lo prende da lì e inizia l'avvio del sistema operativo effettivo, Windows o Linux, ad esempio.
I computer con UEFI possono ancora usare questo metodo di avvio MBR vecchio stile per avviare un sistema operativo, ma normalmente usano qualcosa chiamato un eseguibile EFI. Questi non devono essere memorizzati all'inizio di un disco. Invece, sono memorizzati su qualcosa chiamato "partizione di sistema EFI".
In entrambi i casi, il principio è lo stesso: il BIOS o UEFI esamina un dispositivo di archiviazione sul sistema per cercare un piccolo programma, nel MBR o su una partizione di sistema EFI, e lo esegue. Se non ci sono dispositivi di avvio avviabili, il processo di avvio non riesce e verrà visualizzato un messaggio di errore che lo indica sul display.
Sui PC moderni, il firmware UEFI è generalmente configurato per "Avvio protetto". Ciò garantisce che il sistema operativo avviato non sia stato manomesso e non carichi malware di basso livello. Se Secure Boot è abilitato, UEFI verifica se il bootloader è correttamente firmato prima di avviarlo.
Il Bootloader carica il sistema operativo completo
Il bootloader è un piccolo programma che ha il compito di avviare il resto del sistema operativo. Windows utilizza un bootloader denominato Boot Manager di Windows (Bootmgr.exe), la maggior parte dei sistemi Linux usa GRUB e i Mac usano qualcosa chiamato boot.efi.
Se c'è un problema con il bootloader - per esempio, se i suoi file sono corrotti su disco - vedrai un messaggio di errore del bootloader e il processo di avvio si fermerà.
Il bootloader è solo un piccolo programma e non gestisce il processo di avvio da solo. Su Windows, il Boot Manager di Windows trova e avvia il caricatore del sistema operativo Windows. Il caricatore del sistema operativo carica i driver hardware essenziali necessari per eseguire il kernel, la parte principale del sistema operativo Windows, quindi avvia il kernel. Il kernel carica quindi il registro di sistema in memoria e carica anche eventuali driver hardware aggiuntivi contrassegnati con "BOOT_START", il che significa che devono essere caricati all'avvio. Il kernel di Windows avvia quindi il processo di gestione sessione (Smss.exe), che avvia la sessione di sistema e carica i driver aggiuntivi. Questo processo continua e Windows carica i servizi in background e la schermata di benvenuto, che ti consente di accedere.
Su Linux, il boot loader GRUB carica il kernel Linux. Il kernel avvia anche il sistema init, che è systemd sulla maggior parte delle moderne distribuzioni Linux. Il sistema init gestisce i servizi di avvio e altri processi utente che portano a un prompt di login.
Questo processo coinvolto è solo un modo per far sì che tutto si carichi correttamente facendo le cose nell'ordine corretto.
A proposito, i cosiddetti "programmi di avvio" vengono effettivamente caricati quando si accede al proprio account utente, non all'avvio del sistema. Ma alcuni servizi in background (su Windows) o demoni (su Linux e macOS) vengono avviati in background all'avvio del sistema.
Anche il processo di spegnimento è abbastanza complicato. Ecco esattamente cosa succede quando si spegne o si esce da un PC Windows.
Immagine di credito: Suwan Waenlor / Shutterstock.com, DR-images / Shutterstock.com,