17Aug
Mens de fleste av oss sannsynligvis gir liten tanke på alt som skjer hver gang vi lukker våre datamaskiner ned, hva skjer faktisk under "hetten" under nedleggingsprosessen? Dagens SuperUser Q & A-innlegg har svar på en nysgjerrig leser spørsmål.
Dagens Spørsmål &Svar-sesjon kommer til oss med høflighet av SuperUser-en underavdeling av Stack Exchange, en fellesskapsdrevet gruppering av Q & A-nettsteder.
Spørsmålet
SuperUser leser RACING121 vil vite hva som faktisk skjer når en Windows-datamaskin slår seg ned:
Når jeg klikker på avbrytningsknappen på Windows-systemet, gir den meg en annen skjerm som sier Stenger :
Hva går faktiskpå under dette stadiet?
Hvis jeg husker riktig, ville det i Windows XP si noe som Lagre innstillinger før du slår av. Men hvilke innstillinger er det for å faktisk spare her? Hvis du for eksempel har brukt et tema eller fullført noen annen handling, har den allerede blitt "lagret" når du klikket Bruk eller Ok .
Hvis det avmonterer harddisken, ville det sikkert være det samme som å tvinge en nedleggelse ved å trekke støpselet, ikke sant?
Hva skjer egentlig når en Windows-datamaskin går gjennom nedleggingsprosessen?
Svaret
SuperUser-bidragsytere Keltari og zzarzzur har svaret for oss. Først opp, Keltari:
Det er mange ting som skjer under nedleggingsprosessen. Her er bare noen få eksempler:
- Kontrollerer om noen brukerprogrammer ikke er stengt ennå( som et ikke-lagret dokument) og spør brukeren om nødvendig
- Stoppe bakgrunnstjenester
- Venter på avslutningssignalet fra tjenester og applikasjoner som er åpne ellerkjører
- Spyler hurtigbufferen til disk
- Skriver loggfiler
- Alle brukere er logget ut
- Avslutter skallet
- Start installering av Windows-oppdateringer og fortell at systemet skal fullføre oppdateringsprosessen ved neste oppstart av systemet
- Send ACPI-avstengingssignalet(dette er det som slår av maskinen)
Etterfulgt av svaret fra zzarzzur:
Systemregistret er( kanskje?) skrevet til disken. Tilbake da jeg brukte Windows XP, la jeg merke til at hvis du gjorde noen endringer i registret, og deretter tok strømmen, ville endringene ikke bli lagret. Jeg er ikke helt sikker på dette, bare peker på det.
Her er et utdrag fra et dokument som Microsoft utgitt:
- System-avslutning av systemet. Denne fasen inkluderer forhåndsundersøkelsesvarsling og nedleggelsesmeldingsfaser.
- Pre-shutdown varsling. Windows lukker serielt alle tjenester som er registrert for å motta forhåndsavbrudd. Bestilte tjenester - tjenester som har satt opp nedleggelsesordningen for avhengige tjenester - slås av før ikke-bestilte tjenester.
- Avsluttingsvarsel. Alle tjenester som registreres for å motta nedleggelsesvarsler, slås av parallelt. Hvis alle tjenestene ikke har gått ut etter 20 sekunder( i Windows Vista) eller 12 sekunder( i Windows 7-klientoperativsystemer), fortsetter systemet avslutningen. Prosesser og tjenester som ikke slås av i tide, går igjen når systemet slår av.
- Kjernel avslutning. Resten av systemet, for eksempel alle enheter og drivere, slås av under kjerneavstengningsfasen.
I utgangspunktet er det hva du venter på, hver enkelt tjeneste å rydde opp og ut av. Hver tjeneste blir gitt 12 sekunder for å avslutte før den blir drept.
Halvparten av nedleggelsestiden er dedikert til å slå ned systemtjenestene. Hvis du er veldig interessert i å se hvilken tid som er dedikert til hva som helst under en nedleggelse, inneholder Windows et verktøy for å spore avstengningstid.
- xbootmgr -trace shutdown-nummerRuns 3-resultPath% systemdrive% \ traces -postBootDelay 180 -traceFlags base
Og for å få mening av den genererte filen( sørg for å kjøre i % systemdrive% \ spor )
- xperf -i spor.etl -o summary.xml-en avstengning
Kilder
Windows På / Av overgang ytelsesanalyse dokument [Microsoft]
Windows On / Off Transitions Løsningsveiledning Dokument [Microsoft]
Har du noe å legge til forklaringen? Lyder av i kommentarene. Vil du lese flere svar fra andre tech-savvy Stack Exchange-brukere? Sjekk ut hele diskusjonstråden her.