A sessão de perguntas e respostas de hoje nos é oferecida por cortesia do SuperUser, uma subdivisão do Stack Exchange, um agrupamento de comunidades de perguntas e respostas da comunidade.
A questão
O leitor do SuperUser, Seth Carnegie, questiona o gerenciamento de energia do computador:
How can a computer restart itself? After it’s off, how does it tell itself to come back on again? What kind of software is it that can do this?
Como de fato? Que combinação de magia de software / hardware faz acontecer?
A resposta
O tempo demais, não li a resposta: Os estados de energia em seu computador são controlados por uma implementação de ACPI (configuração avançada e interface de energia). No final de um processo de desligamento, o sistema operacional define um comando ACPI indicando que o computador deve ser reinicializado. Em resposta, a placa-mãe redefine todos os componentes usando seus respectivos comandos ou linhas de reinicialização e, em seguida, segue o processo de bootstrap. A placa-mãe nunca se desliga, apenas restaura vários componentes e se comporta como se o botão de força tivesse acabado de ser pressionado.
Longa e desconexa, mas (na minha opinião) resposta mais interessante:
Soft Power e como funciona
Antigamente (bem, tudo bem, para um estudante universitário como eu dos anos 90 foi há muito tempo), nós tínhamos placas-mãe AT (Advanced Technology) com AT poder gestão. O sistema de energia AT era muito simples. O botão liga / desliga do seu computador era uma chave de hardware (provavelmente na parte de trás do gabinete) e sua entrada de 120vac passou por ele. Ele fisicamente ligou e desligou a energia da sua fonte de alimentação, e quando esta chave estava na posição Off tudo no seu computador estava completamente inoperante (isso tornou a bateria CMOS muito importante, porque sem ela não havia fonte de alimentação para manter o hardware relógio correndo). Como o interruptor de energia era um mecanismo físico, não havia nenhum meio de ligar e desligar o software. O Windows mostraria a famosa mensagem "Agora é seguro desligar o computador" porque, embora tudo estivesse estacionado e pronto para ser desligado, não era possível que o sistema operacional mudasse a chave de energia. Esta configuração foi por vezes referida como Poder forteporque é tudo hardware.
Hoje em dia as coisas são diferentes, por causa das maravilhas das placas-mãe ATX e Potência ATX (essa é a Tecnologia avançada eXtended se você está acompanhando). Juntamente com uma série de outros avanços (mini-DIN PS / 2, alguém?), ATX trouxe poder suave. Soft power significa que a energia do computador pode ser controlada por software. Isso trouxe algumas mudanças de importação:
- Energia em espera: você pode ter visto um conector “5v SB” ou “5v em espera” rotulado nas pinagens da fonte de alimentação. o fonte de alimentação em standby é uma linha de 5v para a sua placa-mãe que está sempre ligada, mesmo quando o computador está desligado. É por isso que é importante desconectar ou desligar um hard switch de PSU (se houver) ao fazer manutenção em computadores modernos, porque, mesmo quando está desligado, você pode potencialmente causar curto-circuito no 5vb e danificar a motherboard. É também por isso que as baterias CMOS não são mais tão importantes - o 5v SB é usado para substituir a bateria CMOS sempre que a fonte de alimentação tiver energia elétrica, portanto a bateria CMOS é usada apenas quando você desconecta o computador completamente. A linha 5v SB permite que os componentes do seu computador (principalmente o BIOS e os adaptadores de rede) continuem executando algum software simples mesmo quando o computador está desligado.
- Controle inteligente de fornecimento de energia. Se você olhar para uma pinagem para o conector da placa-mãe da sua fonte de alimentação (P1), você notará dois pinos tipicamente rotulados PS_ON e PS_RDY. Estes significam “fonte de alimentação ligada” e “fonte de alimentação pronta”. Se você gosta de experimentar, pegue uma fonte de alimentação que não esteja em um computador, conecte-a e cuidadosamente encurte uma linha de aterramento (um dos fios pretos) para a linha PS_ON (o fio verde). A fonte de alimentação ficará visivelmente ligada, com o ventilador girando. Os componentes da placa-mãe que estão funcionando fora de + 5v SB realmente ligam e desligam a fonte de alimentação conectando a energia ao pino PS_ON. Como há alguns capacitores e outros componentes na fonte de alimentação que demoram um pouco para serem carregados, as tensões das saídas principais da fonte de alimentação podem não ser estáveis imediatamente depois que a PSU é ligada. É para isso que o pino PS_RDY serve, quando a lógica interna da fonte de alimentação determina que a fonte de alimentação está “pronta” e fornecerá energia estável. A placa-mãe aguarda até que o PS_RDY esteja ligado para continuar a inicialização.
Assim, o seu interruptor de energia já não "liga" o computador. Em vez disso, ele é conectado aos controladores básicos da sua placa-mãe, que detectam que o botão foi pressionado e executam várias etapas para preparar o sistema, incluindo a iluminação de PS_ON para que a energia esteja disponível. O botão de energia não é a única maneira de acionar o processo de inicialização, os dispositivos no seu barramento de expansão também podem fazê-lo.Isso é importante porque os adaptadores de rede Ethernet permanecem ligados quando o computador está desligado e procuram por um pacote muito específico, geralmente chamado de “Pacote Mágico”. Se detectarem esse pacote endereçado ao seu endereço MAC, eles acionarão o processo de inicialização.. É assim que funciona o “Wake-on-LAN” (WoL). O relógio também pode iniciar uma inicialização (a maioria dos BIOS permite que você defina um tempo que o computador deve inicializar todos os dias), e dispositivos USB e FireWire podem acionar uma inicialização, embora eu não saiba de nenhuma implementação disso.
Entendendo o Controle de Potência
Bem, eu explico o Soft Power tanto porque eu acho interessante (sempre uma razão chave que eu explico as coisas) e porque ele permite que você entenda como a potência e o estado de funcionamento / desligamento do seu computador são todos controlados pelo software. Na maioria dos computadores atuais, esse sistema de software é uma implementação do Configuração avançada e interface de energia ou ACPI. O ACPI é um sistema padronizado e unificado que permite que o software controle o sistema de energia do seu computador. Você pode ter ouvido falar do Estados de energia ACPI. O mecanismo básico de controle de energia são esses “estados de energia”, seu sistema operacional alterna os modos de energia preparando-se para o comutador (os processos de desligamento / hibernação que ocorrem antes de a energia ser realmente desligada) e comandando a placa-mãe para alternar os estados de energia. Os estados de energia são assim:
- G0: Trabalhando (o estado "on" do seu computador)
-
G1: Sleeping (estados de espera do seu computador, divididos nos subestados S)
- S1: energia para CPU e RAM permanece ligada, mas a CPU não está executando instruções. Dispositivos periféricos estão desligados.
- S2: CPU desligada, RAM mantida
- S3: Todos os componentes desligados, exceto para RAM e dispositivos que acionam um currículo (teclado). Quando você diz ao seu SO para "Sleep", ele interrompe os processos e entra nesse modo.
- S4: Hibernação. Absolutamente tudo está desligado. Quando você informa seu sistema operacional para o Hibernate, ele interrompe processos, salva o conteúdo da RAM no disco e entra nesse modo.
- G2: Soft Off. este é o estado "off" do seu computador. A energia é desligada para tudo, exceto para dispositivos que podem acionar uma inicialização.
- G3: Mecânico desligado.
Como a redefinição realmente acontece
Você perceberá que a reinicialização não é um desses estados. Então, o que realmente acontece quando o computador é reiniciado? A resposta pode ser surpreendente, porque a partir de uma perspectiva de gerenciamento de energia é quase nada. Há sim um comando de redefinição de ACPI. Quando você informa ao seu sistema operacional para reinicializar, ele segue seu processo de desligamento normal (interrompe todos os seus processos, executa um pouco de manutenção, desmonta seus sistemas de arquivos, etc.) e, em seguida, como uma etapa final, em vez de enviar a máquina ao estado de energia G2 (como seria se você tivesse simplesmente dito para desligar) ele define o comando Reset. Isso geralmente é chamado de "Redefinir registro", porque, como a maioria da interface da ACPI, é apenas um endereço para o qual um valor específico deve ser gravado para solicitar uma redefinição. Vou citar a especificação 2.0 sobre o que faz:
The optional ACPI reset mechanism specifies a standard mechanism that provides a complete system reset. When implemented, this mechanism must reset the entire system. This includes processors, core logic, all buses, and all peripherals. From an OSPM perspective, asserting the reset mechanism is the logical equivalent to power cycling the machine. Upon gaining control after a reset, OSPM will perform actions in like manner to a cold boot.
Então, quando o registro de reset está definido, algumas coisas acontecem em seqüência.
- Toda a lógica é redefinida. Isso significa enviar os respectivos comandos de reset para vários bits de hardware, incluindo CPU, controlador de memória, controladores de periféricos, etc. Na maioria dos casos, isso significa simplesmente iluminar um fio físico de RST, como AndrejaKo mostrou acima.
- O computador é então inicializado. Esta é a parte "executar ações de maneira semelhante a uma inicialização a frio". A placa-mãe executa as mesmas etapas que se a fonte de alimentação tivesse acabado de se tornar pronta após o botão de energia ser pressionado.
O efeito final dessas duas etapas (que realmente se desdobram em mais etapas) é que tudo parece com o computador inicializado, mas a energia na verdade estava ativa o tempo todo. Isso significa menos tempo necessário para desligar e inicializar (já que você não precisa esperar que a fonte de alimentação fique pronta) e, o mais importante, permite que a inicialização seja iniciada pelo sistema operacional sendo desligado. Isso significa que outro gatilho de inicialização não precisa ser usado (WoL, etc) e permite que você use a reinicialização como uma maneira eficaz de redefinir o sistema remotamente, quando você não tem uma maneira de acionar a inicialização.
Essa foi uma resposta longa. Mas ei, espero que você saiba mais sobre o gerenciamento de energia do computador agora. Eu certamente aprendi algumas coisas pesquisando isso.
Tem algo a acrescentar à explicação? Soe fora nos comentários. Quer ler mais respostas de outros usuários do Stack Exchange com experiência em tecnologia? Confira o tópico de discussão completo aqui.