Główna » jak » Co się właściwie dzieje, gdy komputer z systemem Windows wyłącza się?

    Co się właściwie dzieje, gdy komputer z systemem Windows wyłącza się?

    Podczas gdy większość z nas prawdopodobnie nie zastanawia się nad wszystkim, co dzieje się za każdym razem, gdy zamykamy nasze komputery, co właściwie dzieje się "pod maską" podczas procesu wyłączania? Dzisiejszy post z pytaniami i odpowiedziami dla SuperUser zawiera odpowiedzi na ciekawe pytanie czytelnika.

    Dzisiejsza sesja pytań i odpowiedzi przychodzi do nas dzięki uprzejmości SuperUser - poddziału Stack Exchange, opartego na społecznościach grupowania witryn z pytaniami i odpowiedziami.

    Pytanie

    Czytnik SuperUser RACING121 chce wiedzieć, co się dzieje, gdy wyłącza się komputer z systemem Windows:

    Kiedy klikam przycisk zamykania systemu Windows, daje mi to kolejny ekran Wyłączanie:

    Co się właściwie dzieje na tym etapie?

    Jeśli dobrze pamiętam, w Windows XP powiedziałbym coś w stylu Zapisywanie ustawień przed wyłączeniem zasilania. Jakie ustawienia są tutaj, aby faktycznie zapisać? Na przykład, jeśli zastosowałeś motyw lub ukończyłeś inne działanie, został on już "zapisany" po kliknięciu Zastosować lub Dobrze.

    Jeśli odmontowuje dysk twardy, to z pewnością będzie to to samo, co wymuszenie wyłączenia przez pociągnięcie wtyczki, w prawo?

    Co się właściwie dzieje, gdy komputer z systemem Windows przechodzi przez proces zamykania systemu?

    Odpowiedź

    Dostawcy SuperUser Keltari i zzarzzur mają dla nas odpowiedź. Najpierw, Keltari:

    Podczas zamykania systemu dzieje się wiele rzeczy. Oto tylko kilka przykładów:

    • Sprawdzanie, czy jakiekolwiek aplikacje użytkownika nie zostały jeszcze zamknięte (jak niezapisany dokument) i w razie potrzeby monitowanie użytkownika
    • Zatrzymywanie usług w tle
    • Oczekiwanie na sygnał zakończenia z usług i aplikacji, które są otwarte lub uruchomione
    • Płukanie pamięci podręcznej na dysk
    • Zapisywanie plików dziennika
    • Wszyscy użytkownicy są wylogowani
    • Kończenie powłoki
    • Rozpocznij instalację aktualizacji systemu Windows i poinformuj system, aby ukończył proces aktualizacji podczas następnego uruchomienia systemu, jeśli to konieczne
    • Wyślij sygnał zamknięcia ACPI (to właśnie wyłącza urządzenie)

    Poniżej znajduje się odpowiedź od zzarzzur:

    Rejestr systemu jest (może?) Zapisany na dysku. Wracając do systemu Windows XP zauważyłem, że jeśli wprowadzisz jakiekolwiek zmiany w rejestrze, a następnie pobierzesz moc, zmiany nie zostaną zapisane. Nie jestem do końca pewien tego, tylko go wskazuję.

    Oto fragment dokumentu wydanego przez Microsoft:

    • Wyłączanie sesji systemowej. Ta faza obejmuje pod-fazy powiadomienia o powiadomieniu przed zamknięciem systemu i powiadomienia o zamknięciu.
    • Powiadomienie przed zamknięciem systemu. System Windows zamyka wszystkie usługi zarejestrowane w celu otrzymywania powiadomień przed zamknięciem systemu. Zamówione usługi - usługi, które ustanowiły kolejność wyłączania usług zależnych - są zamykane przed niezamówionymi usługami.
    • Powiadomienie o zamknięciu systemu. Wszystkie usługi zarejestrowane w celu otrzymywania powiadomień o wyłączeniu są wyłączane równolegle. Jeśli wszystkie usługi nie zakończyły się po 20 sekundach (w systemie Windows Vista) lub 12 sekundach (w systemach operacyjnych klienta Windows 7), system kontynuuje zamykanie. Procesy i usługi, które nie są zamykane w odpowiednim czasie, pozostają uruchomione po wyłączeniu systemu.
    • Zatrzymanie jądra. Pozostała część systemu, na przykład wszystkie urządzenia i sterowniki, są wyłączane podczas fazy zamykania jądra.

    Zasadniczo, na co czekasz, to każda indywidualna usługa sprzątania i wyjścia. Każda usługa ma 12 sekund na zakończenie, zanim zostanie zabita.

    Połowa czasu zamknięcia jest przeznaczona do zamykania usług systemowych. Jeśli naprawdę interesuje Cię czas poświęcony na cokolwiek podczas zamykania systemu, system Windows zawiera narzędzie do śledzenia czasu zamknięcia.

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

    I aby zrozumieć wygenerowany plik (pamiętaj, aby uruchomić % systemdrive% \ trace)

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

    Źródła

    Dokument analizy wydajności przejścia systemu Windows [Microsoft]

    Przewodnik po rozwiązaniach Windows On / Off Transitions Solutions Document [Microsoft]


    Czy masz coś do dodania do wyjaśnienia? Dźwięk w komentarzach. Chcesz przeczytać więcej odpowiedzi od innych użytkowników Stack Exchange, którzy znają się na technologii? Sprawdź cały wątek dyskusji tutaj.