Indice dei Contenuti
Spegnere il sistema sembra un operazione molto semplice: ma capire e comprendere i passaggi e le operazioni che stanno dietro può aiutare a capire molte cose. Vediamo quali sono i passaggi che il sistema fa quando clicchiamo sul pulsante Arresta il sistema.
Ricordate Windows 7? Spesso, per risolvere dei problemi, bastava riavviare il sistema e, “magicamente”, tutto tornava a funzionare (o quasi).
Questo perchè? A causa del “Cold Boot“, ovvero il sistema veniva veramente spento ad ogni chiusura della sessione, obbligando il sistema a ricaricare nuovamente tutto al successivo avvio.
Certo, allungava di molto il processo di avvio o di ripresa. Da Windows 8, invece, tutto è cambiato.
Abbiamo già parlato di come spegnere veramente il sistema in Windows 10 ma ora vediamo nello specifico come avveniva lo spegnimento del sistema in Windows 7 e vediamo che differenze sono state introdotte da Windows 8 in poi.
I passaggi che il sistema esegue quando riceve il comando di arrestare il sistema sono:
- Il primo step eseguito dal sistema è di distribuire il comando di shutdown alle applicazioni aperte le quali hanno il tempo salvare il lavoro e le impostazioni. C’è un tempo di timeout concesso dal sistema per permettere alle applicazioni di concludere il proprio lavoro
- Il secondo step è chiudere le sessioni utente attualmente attive
- Il terzo step è inviare ai servizi il comando di spegnimento, in caso di dipendenze queste vengono “chiuse” in parallelo. Se il servizio non risponde, ne viene forzata la chiusura
- Il quarto step è comunicare ai dispositivi il comando di shutdown
- Il quinto step è chiudere la sessione
- Ora Windows scarica tutti i dati della sessione nel disco, assicurandosi che vengano salvati completamente
- Per ultimo, viene inviato un segnala attraverso l’interfaccia ACPI al sistema per eseguire l’arresto vero e proprio
La differenza sostanziale con Windows 8? L’ibernazione!
Come abbiamo detto, i processi di spegnimento sono pressoché i medesimi, l’unica differenza è che la sessione non viene chiusa bensì ibernata.
Questo significa che viene creata una sorta di immagine del sistema, una mini-ibernazione che salva lo stato del sistema ed il contenuto della memoria RAM in un file chiamato hiberfil.sys
Il tempo di caricamento, così, è più veloce di almeno il 70% rispetto a Windows 7, come sostiene Microsoft.
Solitamente questo file non occupa molto spazio, Microsoft sostiene che in utilizzi normali lo spazio occupato sia in proporzione il 10-15% della memoria RAM.
Ma se vogliamo impostare manualmente una dimensione massime del file dobbiamo lanciare il seguente comando dal prompt dei comandi come amministratore:
powercfg /hibernate /size
Inserendo, dopo size, un numero corrispondente fra 0 e 100 che corrisponde alla percentuale di RAM. Inserire un valore troppo basso, però, potrebbe far fallire l’operazione di ibernazione.
Solitamente non è necessario agire sul file hyberfil.sys, è consigliato lasciare che sia Windows stesso a gestirlo autonomamente.
Approfondimento e fonte per le immagini: Delivering fast boot times in Windows 8