17Aug

Che cosa sta realmente accadendo quando un computer Windows si sta spegnendo?

Mentre la maggior parte di noi probabilmente pensa poco a tutto ciò che sta accadendo ogni volta che chiudiamo i nostri computer, cosa sta succedendo "sotto il cofano" durante il processo di spegnimento? Il post di Q & A di SuperUser di oggi ha le risposte alla domanda di un lettore curioso.

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 basato su community.

La domanda

SuperUser reader RACING121 vuole sapere cosa sta realmente accadendo quando un computer Windows si sta spegnendo:

Quando faccio clic sul pulsante di spegnimento sul mio sistema Windows, mi dà un altro schermo che dice che si spegne :

Che cosa sta effettivamente andandodurante questa fase?

Se ricordo correttamente, in Windows XP si direbbe qualcosa come Salvataggio delle impostazioni prima dello spegnimento. Tuttavia, quali impostazioni ci sono per salvare effettivamente qui? Ad esempio, se hai applicato un tema o hai completato qualche altra azione, è già stato "salvato" quando hai fatto clic su

Applica o Ok .

Se si sta smontando il disco rigido, sicuramente sarebbe lo stesso che forzare uno spegnimento staccando la spina, giusto?

Cosa sta realmente accadendo quando un computer Windows passa attraverso il processo di spegnimento?

La risposta

I contributori SuperUser Keltari e zzarzzur hanno la risposta per noi. Prima di tutto, Keltari:

Ci sono un sacco di cose che accadono durante il processo di spegnimento. Ecco alcuni esempi:

  • Controllo per verificare se alcune applicazioni utente non sono state ancora chiuse( come un documento non salvato) e richiedere all'utente, se necessario,
  • Arresto dei servizi in background
  • In attesa del segnale di terminazione da servizi e applicazioni aperti oin esecuzione
  • Lavaggio della cache sul disco
  • Scrittura dei file di registro
  • Tutti gli utenti sono disconnessi
  • Chiusura della shell
  • Avviare l'installazione degli aggiornamenti di Windows e comunicare al sistema di completare il processo di aggiornamento durante l'avvio del sistema successivo, se necessario
  • Inviare il segnale di arresto ACPI(questo è ciò che spegne la macchina)

Seguito dalla risposta di zzarzzur:

Il registro di sistema è( forse?) scritto sul disco. Indietro quando ho usato Windows XP, ho notato che se hai apportato modifiche al registro, quindi ha tirato il potere, le modifiche non sarebbero state salvate. Non sono abbastanza sicuro di questo, solo sottolineando.

Ecco un estratto da un documento rilasciato da Microsoft: arresto sessione di sistema

  • .Questa fase include le sottofasi di notifica di pre-spegnimento e di interruzione dello spegnimento.
  • Notifica di pre-spegnimento. Windows interrompe in modo seriale tutti i servizi registrati per ricevere le notifiche di pre-arresto. I servizi ordinati - i servizi che hanno impostato l'ordine di spegnimento dei servizi dipendenti - vengono disattivati ​​prima dei servizi non ordinati.
  • Notifica di spegnimento. Tutti i servizi registrati per ricevere le notifiche di spegnimento vengono chiusi in parallelo. Se tutti i servizi non sono usciti dopo 20 secondi( in Windows Vista) o 12 secondi( nei sistemi operativi client Windows 7), il sistema continua l'arresto. Processi e servizi che non si arrestano tempestivamente vengono lasciati in esecuzione mentre il sistema si arresta. Arresto del kernel
  • .Il resto del sistema, come tutti i dispositivi e i driver, viene spento durante la fase di spegnimento del kernel.

Fondamentalmente, quello che stai aspettando è ogni singolo servizio da pulire e uscire. Ogni servizio viene dato 12 secondi per uscire prima che venga ucciso.

La metà del tempo di spegnimento è dedicata alla chiusura dei servizi di sistema. Se sei davvero interessante nel vedere che tempo è dedicato a qualsiasi cosa durante uno spegnimento, Windows include uno strumento per tracciare il tempo di spegnimento.

  • xbootmgr -trace shutdown -numRuns 3 -resultPath% systemdrive% \ traces -postBootDelay 180 -traceFlags base

E per dare un senso al file generato( assicurarsi di eseguire % systemdrive% \ trace )

  • xperf -i trace.etl -o summary.xml -a shutdown

Origini

Windows On / Off Transition Performance Analysis Document [Microsoft]

Windows Transizione On / Off Guida alle soluzioni Documento [Microsoft]

Hai qualcosa da aggiungere alla spiegazione? Audio disattivato nei commenti. Vuoi leggere più risposte dagli altri utenti di Stack Exchange esperti di tecnologia? Controlla la discussione completa qui.