Stany zasilania systemu
Dla użytkownika system komputerowy wydaje się być włączony lub wyłączony. Nie ma żadnych innych stanów wykrywalnych. Jednak system obsługuje wiele stanów zasilania, które odpowiadają stanom zasilania zdefiniowanym w specyfikacji Advanced Configuration and Power Interface (ACPI). Istnieją również odmiany tych stanów, takie jak uśpienie hybrydowe i szybkie uruchamianie. W tym artykule przedstawiono te stany i opisano sposób ich powiązania ze sobą.
Nuta
Integratorzy systemów i deweloperzy, którzy tworzą sterowniki lub aplikacje z usługą systemową, powinni być szczególnie ostrożni w kwestiach dotyczących jakości sterowników, takich jak przecieki pamięci. Chociaż jakość sterowników zawsze była ważna, czas między ponownym uruchomieniem jądra może być znacznie dłuższy niż w poprzednich wersjach systemu operacyjnego, ponieważ jądro, sterowniki i usługi są zachowywane i przywracane, a nie uruchamiane ponownie, na zainicjowane przez użytkownika uśpienia i zamykania.
W poniższej tabeli wymieniono stany zasilania ACPI od najwyższego do najniższego zużycia energii.
Stan zasilania | Stan ACPI | Opis |
---|---|---|
Roboczy | S0 | System jest w pełni użyteczny. Składniki sprzętowe, które nie są używane, mogą oszczędzać moc, wprowadzając niższy stan zasilania. |
Uśpienie (nowoczesne wstrzymanie) | S0 bezczynności | Niektóre systemy SoC obsługują stan bezczynności o niskiej mocy znany jako Nowoczesnerezerwowe. W tym stanie system może bardzo szybko przełączyć się ze stanu niskiego zasilania do stanu wysokiego zasilania w odpowiedzi na zdarzenia sprzętowe i sieciowe. Systemy obsługujące nowoczesne wstrzymanie nie używają S1-S3. |
Spać |
S1 S2 S3 |
System wydaje się być wyłączony. Ilość energii zużywanej w stanach S1-S3 jest mniejsza niż S0 i więcej niż S4.
S3 zużywa mniej mocy niż S2, a S2 zużywa mniej energii niż S1. Systemy zwykle obsługują jeden z tych trzech stanów, a nie wszystkie trzy. W stanach S1-S3pamięć nietrwała jest odświeżona w celu zachowania stanu systemu. Niektóre składniki pozostają zasilane, aby komputer mógł wznawiać dane wejściowe z klawiatury, sieci LAN lub urządzenia USB. hybrydoweuśpienia używane na komputerach stacjonarnych jest miejscem, w którym system używa pliku hibernacji z S1-S3. Plik hibernacji zapisuje stan systemu w przypadku utraty zasilania w stanie uśpienia. Uwaga: systemy soc, które obsługują nowoczesne wstrzymanie, nie używają S1-S3. |
Przezimować | S4 | System wydaje się być wyłączony. Zużycie energii jest zmniejszane do najniższego poziomu. System zapisuje zawartość nietrwałej pamięci w pliku hibernacji w celu zachowania stanu systemu. Niektóre składniki pozostają zasilane, aby komputer mógł wznawiać dane wejściowe z klawiatury, sieci LAN lub urządzenia USB. Kontekst roboczy można przywrócić, jeśli jest przechowywany na nośnikach innych niżvolatile. szybkie uruchamianie to miejsce, w którym użytkownik jest wylogowany przed utworzeniem pliku hibernacji. Pozwala to na mniejszy plik hibernacji, bardziej odpowiedni dla systemów z mniejszymi możliwościami magazynowania. |
Nietrwałe | S5 | System wydaje się być wyłączony. Ten stan składa się z pełnego cyklu zamykania i rozruchu. |
Wyłączone mechaniczne | G3 | System jest całkowicie wyłączony i nie zużywa zasilania. System powraca do stanu roboczego dopiero po pełnym ponownym uruchomieniu. |
Wyliczenie SYSTEM_POWER_STATE definiuje wartości używane do określania stanów zasilania systemu.
Stan roboczy: S0
Podczas pracy system jest w stanie obudzić i uruchomić. Mówiąc prosto, urządzenie jest on. Niezależnie od tego, czy ekran jest włączony, czy wyłączony, urządzenie jest w stanie pełnego uruchomienia. Aby zaoszczędzić energię, szczególnie w przypadku urządzeń zasilanych baterią, zaleca się wyłączenie składników sprzętowych, gdy nie są używane.
Ważny
Wyłącz składniki sprzętowe, gdy nie są używane, niezależnie od stanu. Niskie zużycie energii jest ważnym zagadnieniem dla użytkowników urządzeń przenośnych.
Stan uśpienia: Nowoczesne wstrzymanie
W S0 tryb bezczynności zasilania stanu roboczego, określany również jako Nowoczesnewstrzymania system pozostaje częściowo uruchomiony. Podczas nowoczesnego wstrzymania system może pozostawać up-to— data zawsze, gdy dostępna jest odpowiednia sieć, a także wznawiać, gdy jest wymagana akcja w czasie rzeczywistym, na przykład konserwacja systemu operacyjnego. Nowoczesne wstrzymanie jest znacznie szybsze niż S1-S3. Aby uzyskać więcej informacji, zobacz Modern Standby.
Nuta
Nowoczesne wstrzymanie jest dostępne tylko w niektórych systemach SoC. Jeśli jest obsługiwany, system nie obsługuje protokołu S1-S3.
Ostrożność
Nie należy włączać funkcji S3 wake-on-LAN (WoL) w nowoczesnych systemach obsługujących wstrzymanie. Wstanie komputera z pakietem magicznym jest natywnie obsługiwane przez nowoczesne wstrzymanie. Włączenie starszej wersji S3 WoL nie jest konieczne i może powodować burze pakietów DHCP i/lub DNS w sieci.
Stan uśpienia: S1-S3
System przechodzi w tryb uśpienia na podstawie wielu kryteriów, w tym aktywności użytkownika lub aplikacji i preferencji, które użytkownik ustawia na stronie Power & uśpienia aplikacji Ustawienia. Domyślnie system używa najniższego stanu uśpienia obsługiwanego przez wszystkie włączone urządzenia wznawiania. Aby uzyskać więcej informacji na temat sposobu, w jaki system określa, kiedy wejść w tryb uśpienia, zobacz kryteria uśpienia systemu.
Zanim system przejdzie w stan uśpienia, określa odpowiedni stan uśpienia, powiadamia aplikacje i sterowniki oczekującego przejścia, a następnie przenosi system do stanu uśpienia. W przypadku przejścia krytycznego, takiego jak osiągnięcie krytycznego progu baterii, system nie powiadamia aplikacji i sterowników. Aplikacje muszą być przygotowane do tego celu i podjąć odpowiednie działania, gdy system powróci do stanu roboczego.
W stanach S1-S3 pamięć nietrwała jest odświeżona w celu zachowania stanu systemu. Niektóre składniki pozostają zasilane, aby komputer mógł wznawiać dane wejściowe z klawiatury, sieci LAN lub urządzenia USB.
System wznawia również stan uśpienia w odpowiedzi na aktywność użytkownika lub zdarzenie wznawiania zdefiniowane przez aplikację. Aby uzyskać więcej informacji, zobacz Zdarzenia wznawiania systemu. Ilość czasu potrzebny systemowi na wznowienie zależy od stanu uśpienia, z których się obudzi. System zajmuje więcej czasu, aby wznowić działanie z niższego stanu zasilania (S3) niż z wyższego stanu zasilania (S1) ze względu na dodatkową pracę sprzęt może być konieczne. Na przykład stabilizacja zasilania lub ponowne inicjowanie procesora.
Ostrożność
Podczas wywoływania SetThreadExecutionStatewartość ES_AWAYMODE_REQUIRED
powinna być używana tylko wtedy, gdy aplikacje multimedialne, które wymagają od systemu wykonywania zadań w tle, takich jak nagrywanie zawartości telewizyjnej lub multimediów przesyłanych strumieniowo na inne urządzenia, gdy system wydaje się spać. Aplikacje, które nie wymagają krytycznego przetwarzania w tle lub które działają na przenośnych komputerach, nie powinny włączać trybu odejmowania, ponieważ uniemożliwia systemowi oszczędzanie mocy przez wprowadzenie prawdziwego uśpienia.
Uśpienie hybrydowe: S1-S3 + plik hibernacji
hybrydowe uśpienia jest specjalnym stanem, który jest połączeniem stanów uśpienia i hibernacji. Jest to wtedy, gdy system używa pliku hibernacji z S1-S3. Uśpienie hybrydowe jest dostępne tylko w niektórych systemach. Po włączeniu system zapisuje plik hibernacji, ale przechodzi w stan uśpienia o wyższej mocy. Jeśli moc zostanie utracona podczas uśpienia systemu, system wznawia hibernację, co trwa dłużej, ale przywraca stan systemu użytkownika.
Stan hibernacji: S4
System Windows używa hibernacji, aby zapewnić szybkie środowisko uruchamiania. Jeśli jest dostępna, jest również używana na urządzeniach przenośnych, aby przedłużyć żywotność baterii systemu, dając mechanizm zapisywania całego stanu użytkownika przed zamknięciem systemu. W okresie hibernacji cała zawartość pamięci jest zapisywana w pliku na podstawowym dysku systemowym, pliku hibernacji. Spowoduje to zachowanie stanu systemu operacyjnego, aplikacji i urządzeń. W przypadku, gdy łączny ślad pamięci zużywa całą pamięć fizyczną, plik hibernacji musi być wystarczająco duży, aby zapewnić miejsce na zapisanie całej zawartości pamięci fizycznej. Ponieważ dane są zapisywane w magazynie nietrwałym, pamięć DRAM nie musi utrzymywać samodzielnego odświeżania i może być wyłączona, co oznacza, że zużycie energii hibernacji jest bardzo niskie, prawie takie samo jak wyłączenie zasilania.
Podczas pełnego zamykania i rozruchu (S5) cała sesja użytkownika zostanie zerwana i ponownie uruchomiona podczas następnego rozruchu. Natomiast podczas hibernacji (S4) sesja użytkownika jest zamknięta, a stan użytkownika jest zapisywany.
Szybkie uruchamianie: skrócony plik hibernacji
fast startup to typ zamknięcia, który używa pliku hibernacji w celu przyspieszenia kolejnego rozruchu. Podczas tego typu zamykania użytkownik jest wylogowany przed utworzeniem pliku hibernacji. Szybkie uruchamianie umożliwia mniejszy plik hibernacji, bardziej odpowiedni dla systemów z mniejszymi możliwościami magazynowania. Aby uzyskać więcej informacji, zobacz typy plików hibernacji.
W przypadku korzystania z szybkiego uruchamiania system wydaje się użytkownikowi tak, jakby wystąpiło pełne zamknięcie (S5), mimo że system rzeczywiście przeszedł przez S4. Obejmuje to sposób, w jaki system reaguje na alarmy wznawiania urządzenia.
Szybkie uruchamianie rejestruje sesje użytkownika, ale zawartość jądra (sesja 0) jest zapisywana na dysku twardym. Dzięki temu można szybciej uruchomić.
Aby programowo zainicjować szybkie zamknięcie w stylu uruchamiania, wywołaj funkcję InitiateShutdown flagą SHUTDOWN_HYBRID
lub ExitWindows Ex funkcji z flagą EWX_HYBRID_SHUTDOWN
.
Nuta
W systemie Windows szybkie uruchamianie jest domyślnym przejściem po żądaniu zamknięcia systemu. Pełne zamknięcie (S5) występuje, gdy żądanie ponownego uruchomienia systemu lub gdy aplikacja wywołuje interfejs API zamykania.
Wprowadzanie hibernacji
Po wykonaniu żądania hibernacji następujące kroki są wykonywane, gdy system wchodzi w stan hibernacji:
- Aplikacje i usługi są powiadamiane
- Kierowcy są powiadamiani
- Stan użytkownika i systemu jest zapisywany na dysku w formacie skompresowanym
- Oprogramowanie układowe jest powiadamiane
Nuta
Wszystkie rdzenie w systemie są używane do kompresowania danych w pamięci i zapisywania ich na dysku.
Aby programowo zainicjować przejście hibernacji, wywołaj funkcję SetSuspendState.
Wznawianie z hibernacji
Gdy system zostanie wznowione z hibernacji.
Po włączeniu systemu następujące kroki są wykonywane, gdy system zostanie wznowiony z hibernacji:
- System POST
- Pamięć systemowa jest dekompresowana i przywracana z pliku hibernacji
- Inicjowanie urządzenia
- Kierowcy są przywracani do stanu, w których znajdowały się przed hibernacji
- Usługi są przywracane do stanu, w których znajdowały się przed hibernacji
- System staje się dostępny do logowania
wznowić od hibernacji zaczyna się od systemu POST, który jest podobny do zamknięcia S5. Menedżer rozruchu systemu operacyjnego określa, że wznawianie z hibernacji jest wymagane przez wykrycie prawidłowego pliku hibernacji. Następnie kieruje system do wznowienia, przywracając zawartość pamięci i wszystkich rejestrów architektury. W przypadku wznowienia z hibernacji zawartość pamięci systemowej jest odczytywana z dysku, dekompresowana i przywracana, co stawia system w dokładnym stanie, w którym znajdował się w momencie hibernacji. Po przywróceniu pamięci urządzenia zostaną uruchomione ponownie, maszyna powróci do stanu uruchomionego, gotowego do zalogowania.
Nuta
Podczas wznawiania hibernacji sterowniki i usługi są powiadamiane, ale nie są ponownie uruchamiane. Są one przywracane tylko do stanu, w których były przed hibernacji.
Typy plików hibernacji
Pliki hibernacji są używane do hybrydowego uśpienia, szybkiego uruchamiania i standardowej hibernacji. Istnieją dwa typy, zróżnicowane według rozmiaru, pełny i zmniejszony rozmiar pliku hibernacji. Tylko szybkie uruchamianie może używać ograniczonego pliku hibernacji.
Typ pliku hibernacji | Rozmiar domyślny | Obsługuje... |
---|---|---|
Pełny | 40% pamięci fizycznej | hibernacji, uśpienie hybrydowe, szybkie uruchamianie |
Zmniejszona | 20% pamięci fizycznej | szybkie uruchamianie |
Aby sprawdzić lub zmienić typ używanego pliku hibernacji, uruchom narzędzie powercfg.exe. W poniższych przykładach pokazano, jak to zrobić. Aby uzyskać więcej informacji, uruchom polecenie powercfg /? hibernate
.
Przykład | Opis |
---|---|
powercfg /a |
Sprawdź typ pliku hibernacji. Gdy jest używany pełny plik hibernacji, wyniki stanu hibernacji są dostępną opcją. Gdy jest używany plik redukcji hibernacji, wyniki mówią, że hibernacji nie jest obsługiwana. Jeśli system w ogóle nie ma pliku hibernacji, wyniki mówią, że hibernacji nie została włączona. |
powercfg /h /type full |
Zmień typ pliku hibernacji na pełny. Nie jest to zalecane w systemach z mniej niż 32 GB miejsca do magazynowania. |
powercfg /h /type reduced |
Zmień typ pliku hibernacji, aby zmniejszyć. Jeśli polecenie zwraca wartość "parametr jest niepoprawny", zobacz poniższy przykład. |
powercfg /h /size 0 powercfg /h /type reduced |
Ponów próbę zmiany typu pliku hibernacji w celu zmniejszenia. Jeśli plik hibernacji jest ustawiony na rozmiar niestandardowy większy niż 40%, należy najpierw ustawić rozmiar pliku na zero. Następnie spróbuj ponownie wykonać zmniejszoną konfigurację. |
Stan nietrwały: S5
Stan nietrwały jest wtedy, gdy system w pełni zostanie zamknięty bez pliku hibernacji. Wyłączenie nietrwałe jest również nazywane pełnym zamykaniem. Podczas pełnego zamykania i rozruchu cała sesja użytkownika zostanie zerwana i ponownie uruchomiona podczas następnego rozruchu. W związku z tym rozruch/uruchomienie z tego stanu trwa znacznie dłużej niż S1-S4. Pełne zamknięcie (S5) występuje, gdy żądanie ponownego uruchomienia systemu lub gdy aplikacja wywołuje interfejs API zamykania.
Stan wyłączenia mechanicznego: G3
W tym stanie system jest całkowicie wyłączony i nie zużywa zasilania. System powraca do stanu roboczego dopiero po pełnym ponownym uruchomieniu.
Zachowanie funkcji Wake-on-LAN
Funkcja wake-on-LAN (WOL) wznawia komputer ze stanu niskiego zasilania, gdy karta sieciowa wykryje zdarzenie WOL (zazwyczaj specjalnie skonstruowany pakiet Ethernet).
Funkcja WOL jest obsługiwana z S3 uśpienia lub S4 hibernacji. Nie jest obsługiwana w przypadku szybkiego uruchamiania ani S5 stanów wyłączenia wyłączenia. Karty sieciowe nie są uzbrojone w pobudki w tych stanach, ponieważ użytkownicy nie oczekują, że ich systemy się obudzić samodzielnie.
Nuta
WOL nie jest oficjalnie obsługiwany ze stanu S5 zmiękczania. Jednak system BIOS w niektórych systemach może obsługiwać armowanie kart sieciowych w celu wznowienia, mimo że system Windows nie jest zaangażowany w ten proces.