Os computadores têm hardware que detecta a aplicação de energia e aciona um processo de reinicialização para colocar o computador em um estado conhecido, aquele do qual o processo de inicialização segue.
Você pode pensar nisso como um balde com um vazamento muito lento que é preenchido por uma torneira. Quando a torneira está desligada, o balde está vazio. Quando a torneira acende, o balde está ainda vazio. Após um período de tempo, o balde está cheio e permanece cheio enquanto a torneira estiver ligada. Quando a torneira é desligada, o balde esvazia gradualmente, pronto para repetir o processo.
Exceto em um computador, o balde é um capacitor e o vazamento é um resistor. O capacitor gradualmente carrega através de outro resistor quando a energia é aplicada, mas até que isso aconteça, a tensão através do capacitor permanece baixa o suficiente para disparar um reset. Um botão de reset tradicional estripa o capacitor, equivalente a despejar o balde.
Computadores simples normalmente têm CPUs projetadas para começar a executar a partir de um endereço conhecido quando recebem um sinal de reinicialização. O software neste endereço coloca o hardware em um estado conhecido e faz o próximo passo apropriado, como carregar o sistema operacional. O processo é um pouco mais complexo em um PC.