Estados de energia do sistema
Para o usuário, um sistema de computador parece estar ativado ou desativado. Não há outros estados detectáveis. No entanto, o sistema dá suporte a vários estados de energia que correspondem aos estados de energia definidos na especificação ACPI (Advanced Configuration and Power Interface). Há também variações desses estados, como suspensão híbrida e inicialização rápida. Este artigo apresenta esses estados e descreve como eles se relacionam entre si.
Nota
Os integradores do sistema e os desenvolvedores que criam drivers ou aplicativos com um serviço de sistema devem ter cuidado especialmente com problemas de qualidade do driver, como vazamentos de memória. Embora a qualidade do driver sempre tenha sido importante, o tempo de atividade entre reinicializações do kernel pode ser significativamente maior do que nas versões anteriores do sistema operacional porque o kernel, os drivers e os serviços são preservados e restaurados, não reiniciados, em suspensões e desligamentos iniciados pelo usuário.
A tabela a seguir lista os estados de energia do ACPI do maior ao menor consumo de energia.
A enumeração SYSTEM_POWER_STATE define os valores usados para especificar estados de energia do sistema.
Estado de trabalho: S0
Durante o estado de trabalho, o sistema está acordado e em execução. Em termos simples, o dispositivo é ON. Se a tela está ativada ou desativada, o dispositivo está em um estado de execução completo. Para economizar energia, especialmente em dispositivos movidos a bateria, é recomendável que você desligue os componentes de hardware quando eles não estiverem sendo usados.
Importante
Desligue os componentes de hardware sempre que eles não estiverem sendo usados, independentemente do estado. O baixo consumo de energia é uma consideração importante para os consumidores de dispositivos móveis.
Estado do sono: Espera moderna
No S0 modo ocioso de baixa potência do estado de trabalho, também conhecido como de Espera Moderna, o sistema permanece parcialmente em execução. Durante o Standby Moderno, o sistema pode permanecer up-to-date sempre que uma rede adequada estiver disponível e também ativar quando a ação em tempo real for necessária, como a manutenção do sistema operacional. O standby moderno é ativado significativamente mais rápido do que S1-S3. Para obter mais informações, consulte de Espera Moderna.
Nota
O Standby Moderno só está disponível em alguns sistemas SoC. Quando há suporte, o sistema não dá suporte ao S1-S3.
Cuidado
Não habilite o S3 wake-on-LAN (WoL) em sistemas compatíveis com Standaby modernos. Acordar um computador com um pacote mágico é suportado nativamente pelo Modern Standby. Habilitar o WoL S3 herdado não é necessário e pode causar tempestades de pacotes DHCP e/ou DNS em sua rede.
Estado do sono: S1-S3
O sistema entra em suspensão com base em uma série de critérios, incluindo atividade de usuário ou aplicativo e preferências que o usuário define na página de suspensão do Power & do aplicativo Settings. Por padrão, o sistema usa o estado de suspensão mais baixo suportado por todos os dispositivos de ativação habilitados. Para obter mais informações sobre como o sistema determina quando entrar em suspensão, consulte Critérios de suspensão do sistema.
Antes que o sistema entre em suspensão, ele determina o estado de suspensão apropriado, notifica aplicativos e drivers da transição pendente e, em seguida, faz a transição do sistema para o estado de suspensão. No caso de uma transição crítica, como quando o limite crítico da bateria é atingido, o sistema não notifica aplicativos e drivers. Os aplicativos precisam estar preparados para isso e tomar as medidas apropriadas quando o sistema retornar ao estado de trabalho.
Em estados de S1-S3, a memória volátil é mantida atualizada para manter o estado do sistema. Alguns componentes permanecem alimentados para que o computador possa ativar a partir da entrada do teclado, LAN ou um dispositivo USB.
O sistema também acorda do suspensão em resposta à atividade do usuário ou a um evento de ativação definido por um aplicativo. Para obter mais informações, consulte eventos de ativação do sistema. A quantidade de tempo que o sistema leva para acordar depende do estado do sono do qual está acordando. O sistema leva mais tempo para acordar de um estado de menor potência (S3) do que de um estado de alta potência (S1) devido ao trabalho extra que o hardware pode ter que fazer. Por exemplo, estabilizando a fonte de alimentação ou inicializando novamente o processador.
Cuidado
Ao chamar SetThreadExecutionState, o valor ES_AWAYMODE_REQUIRED
deve ser usado somente quando absolutamente necessário por aplicativos de mídia que exigem que o sistema execute tarefas em segundo plano, como gravar conteúdo de televisão ou mídia de streaming para outros dispositivos enquanto o sistema parece estar dormindo. Os aplicativos que não exigem processamento crítico em segundo plano ou executados em computadores portáteis não devem habilitar o modo de exclusão porque impedem que o sistema economize energia entrando no sono verdadeiro.
Suspensão híbrida: S1-S3 + arquivo de hibernação
o sono híbrido é um estado especial que é uma combinação dos estados de suspensão e hibernação. É quando um sistema usa um arquivo de hibernação com S1-S3. O suspensão híbrida só está disponível em alguns sistemas. Quando habilitado, o sistema grava um arquivo de hibernação, mas insere um estado de suspensão mais avançado. Se a energia for perdida enquanto o sistema estiver em suspensão, o sistema acordará da hibernação, o que levará mais tempo, mas restaurará o estado do sistema do usuário.
Estado de hibernação: S4
O Windows usa hibernação para fornecer uma experiência de inicialização rápida. Quando disponível, ele também é usado em dispositivos móveis para estender a duração da bateria utilizável de um sistema, fornecendo um mecanismo para salvar todo o estado do usuário antes de desligar o sistema. Em uma transição hibernada, todo o conteúdo da memória é gravado em um arquivo na unidade do sistema primário, arquivo de hibernação. Isso preserva o estado do sistema operacional, aplicativos e dispositivos. No caso em que o volume de memória combinado consome toda a memória física, o arquivo de hibernação deve ser grande o suficiente para garantir que haja espaço para salvar todo o conteúdo da memória física. Como os dados são gravados no armazenamento não volátil, o DRAM não precisa manter a auto-atualização e pode ser desligado, o que significa que o consumo de energia da hibernação é muito baixo, quase o mesmo que desligar.
Durante um desligamento completo e inicialização (S5), toda a sessão do usuário é interrompida e reiniciada na próxima inicialização. Por outro lado, durante uma hibernação (S4), a sessão do usuário é fechada e o estado do usuário é salvo.
Inicialização rápida: arquivo de hibernação reduzido
de inicialização rápida é um tipo de desligamento que usa um arquivo de hibernação para acelerar a inicialização subsequente. Durante esse tipo de desligamento, o usuário é conectado antes que o arquivo de hibernação seja criado. A inicialização rápida permite um arquivo de hibernação menor, mais apropriado para sistemas com menos recursos de armazenamento. Para obter mais informações, consulte tipos de arquivo hibernação.
Ao usar a inicialização rápida, o sistema aparece para o usuário como se um S5 (desligamento completo) tivesse ocorrido, mesmo que o sistema realmente tenha passado pelo S4. Isso inclui como o sistema responde aos alarmes de ativação do dispositivo.
A inicialização rápida registra em log as sessões do usuário, mas o conteúdo do kernel (sessão 0) é gravado em disco rígido. Isso permite uma inicialização mais rápida.
Para iniciar programaticamente um desligamento rápido no estilo de inicialização, chame a função InitiateShutdown com o sinalizador SHUTDOWN_HYBRID
ou a função exitWindowsEx com o sinalizador EWX_HYBRID_SHUTDOWN
.
Nota
No Windows, a inicialização rápida é a transição padrão quando um desligamento do sistema é solicitado. Um desligamento completo (S5) ocorre quando uma reinicialização do sistema é solicitada ou quando um aplicativo chama uma API de desligamento.
Inserindo hibernação
Quando uma solicitação de hibernação é feita, as seguintes etapas ocorrem à medida que o sistema entra na hibernação:
- Aplicativos e serviços são notificados
- Os drivers são notificados
- O estado do usuário e do sistema é salvo em disco em um formato compactado
- O firmware é notificado
Nota
Todos os núcleos no sistema são usados para compactar os dados na memória e gravá-los em disco.
Para iniciar programaticamente uma transição de hibernação, chame a função SetSuspendState.
Retomando da hibernação
Quando um sistema é retomado da hibernação.
Quando um sistema é ativado, as seguintes etapas ocorrem à medida que o sistema retoma da hibernação:
- POST do Sistema
- A memória do sistema é descompactada e restaurada do arquivo de hibernação
- Inicialização do dispositivo
- Os motoristas são restaurados para o estado em que estavam antes da hibernação
- Os serviços são restaurados para o estado em que estavam antes da hibernação
- O sistema fica disponível para logon
Uma retomada da hibernação começa com um POST do sistema semelhante a um desligamento S5. O gerenciador de inicialização do sistema operacional determina que um currículo da hibernação é necessário detectando um arquivo de hibernação válido. Em seguida, orienta o sistema a retomar, restaurando o conteúdo da memória e todos os registros arquitetônicos. No caso de um currículo da hibernação, o conteúdo da memória do sistema é lido novamente do disco, descompactado e restaurado, o que coloca o sistema no estado exato em que estava quando foi hibernado. Depois que a memória é restaurada, os dispositivos são reiniciados, o computador retorna a um estado em execução, pronto para logon.
Nota
Durante um currículo da hibernação, os drivers e os serviços são notificados, mas não são reiniciados. Eles só são restaurados para o estado em que estavam antes da hibernação.
Tipos de arquivo de hibernação
Os arquivos de hibernação são usados para suspensão híbrida, inicialização rápida e de hibernação padrão. Há dois tipos, diferenciados por tamanho, um arquivo de hibernação de tamanho completo e reduzido. Somente a inicialização rápida pode usar um arquivo de hibernação reduzido.
Tipo de arquivo de hibernação | Tamanho padrão | Suporta... |
---|---|---|
Cheio | 40% de memória física | hibernar, suspensão híbrida, inicialização rápida |
Reduzido | 20% de memória física | inicialização rápida |
Para verificar ou alterar o tipo de arquivo de hibernação usado, execute o utilitário powercfg.exe. Os exemplos a seguir demonstram como. Para obter mais informações, execute powercfg /? hibernate
.
Exemplo | Descrição |
---|---|
powercfg /a |
Verifique o tipo de arquivo de hibernação. Quando um arquivo de hibernação completo é usado, os resultados afirmam que a hibernação é uma opção disponível. Quando um arquivo de hibernação reduzido é usado, os resultados dizem que não há suporte para hibernação. Se o sistema não tiver nenhum arquivo de hibernação, os resultados dizem que a hibernação não foi habilitada. |
powercfg /h /type full |
Altere o tipo de arquivo de hibernação para cheio. Isso não é recomendado em sistemas com menos de 32 GB de armazenamento. |
powercfg /h /type reduced |
Altere o tipo de arquivo de hibernação para reduzido. Se o comando retornar "o parâmetro está incorreto", consulte o exemplo a seguir. |
powercfg /h /size 0 powercfg /h /type reduced |
Tente alterar novamente o tipo de arquivo de hibernação para reduzido. Se o arquivo de hibernação estiver definido como um tamanho personalizado maior que 40%, primeiro defina o tamanho do arquivo como zero. Em seguida, repita a configuração reduzida. |
Estado de soft off: S5
O estado de soft off é quando o sistema é totalmente desligado sem um arquivo de hibernação. O soft off também é conhecido como um desligamento completo. Durante um desligamento e inicialização completos, toda a sessão do usuário é interrompida e reiniciada na próxima inicialização. Consequentemente, uma inicialização/inicialização desse estado leva significativamente mais tempo do que o S1-S4. Um desligamento completo (S5) ocorre quando uma reinicialização do sistema é solicitada ou quando um aplicativo chama uma API de desligamento.
Mecânico fora do estado: G3
Nesse estado, o sistema está completamente desligado e não consome energia. O sistema retorna ao estado de trabalho somente após uma reinicialização completa.
Comportamento de Wake-on-LAN
O recurso WOL (wake-on-LAN) ativa o computador de um estado de baixa potência quando um adaptador de rede detecta um evento WOL (normalmente, um pacote Ethernet especialmente construído).
O WOL é compatível com suspensão S3 ou hibernação S4. Não há suporte de inicialização rápida ou S5 estados de desligamento reversível. As NICs não estão armadas para despertar nesses estados porque os usuários não esperam que seus sistemas acordem por conta própria.
Nota
Wol não é oficialmente apoiado do S5 estado suave fora do estado. No entanto, o BIOS em alguns sistemas pode dar suporte ao arming de NICs para ativação, mesmo que o Windows não esteja envolvido no processo.