Como o horário de verão funciona em um computador?

0

Eu queria saber se o próprio chip de tempo do computador atualiza a hora, mesmo quando o computador está desligado (por exemplo, o BIOS ou o SO envia um comando que quando você alcança um certo tempo você volta / avança 3600 segundos), ou o BIOS / OS o atualiza na primeira vez que você inicia o computador após a entrada em vigor do DST?

    
por kat 30.03.2014 / 09:34

2 respostas

5

O chip do relógio em tempo real MC146818, como usado no IBM PC / AT, realmente tinha a capacidade de fazer alterações do DST por conta própria. Ele só funcionava corretamente nos Estados Unidos e, mesmo assim, só funcionava corretamente por apenas três anos, até que a lei fosse alterada, e a regra do horário de verão, que era programada no circuito do chip, não correspondia mais à regra do horário de verão. Essa capacidade de atualizar o horário de verão em hardware não foi usada em décadas.

Se o seu sistema operacional é um sistema operacional DOS Think, então sim, as mudanças de horário de verão são aplicadas ao relógio em tempo real pelo sistema operacional e, portanto, somente quando a máquina está totalmente ligada e inicializada no sistema operacional. No entanto, este sistema tem sido conhecido por ser sério e fundamentalmente quebrado por quase tanto tempo. Tem sido discutido exaustivamente em fóruns de discussão on-line desde os anos 80.

Unices e sistemas operacionais semelhantes ao UNIX executam o hardware RTC em UTC e nunca aplicam nenhuma alteração do horário de verão a ele. Na verdade, não há conhecimento do DST no kernel do sistema operacional. O kernel e o hardware operam em UTC o tempo todo e uma função de biblioteca do sistema aplica uma conversão do UTC ao tempo padrão local / horário de verão baseado na variável de ambiente TZ e um extenso banco de dados de fuso horário no disco. Não há alternância entre o padrão e o horário de verão propriamente dito. A função de conversão simplesmente gera o deslocamento correto da hora local de acordo com o tempo que está sendo convertido.

Sim, os BSDs e o Linux podem ser executados no modo DOS Think, com o relógio do hardware sendo executado em algo diferente de UTC. Esta não é uma ideia particularmente boa, e há muitos mecanismos frágeis adicionais que a acompanham. Por exemplo, os gerenciadores do sistema, como systemd , precisam informar ao kernel sobre a hora local antes que fsck seja executado, porque senão pessoas em fusos horários à frente do comportamento estranho da experiência UTC causadas pelo relógio do sistema retrocederão durante o sistema inicialização.

Leitura adicional

por 31.03.2014 / 00:02
1

A placa-mãe tem uma bateria e um relógio que vai manter o controle do tempo, mesmo quando o computador está desligado, no entanto, é o sistema operacional que determina quando ajustar o relógio para frente / para trás, dependendo das configurações. Ele não é ajustado até que o sistema operacional esteja em execução no momento em que ele deve ser alterado ou após a primeira inicialização.

    
por 30.03.2014 / 10:01