Uma Breve História do Tempo do Computador
postado por Richard N Williams on Dezembro 2nd, 2009
Dizer o tempo é algo que podemos aprender quando somos crianças muito pequenas. Saber que horas é uma parte essencial da nossa sociedade e não conseguimos funcionar sem ela. Imagine se não dissemos o tempo - quando você iria para o trabalho? Quando você sairia e como seria possível conhecer outras pessoas ou organizar qualquer tipo de função.
Ao dizer que o tempo é crucial para nós, é ainda mais vital para os computadores que utilizam o tempo como único ponto de referência e entre sincronização de tempo das redes de computadores é vital. Sem registrar a passagem do tempo, os computadores não podiam funcionar, pois não haveria referência para ordenar programas e funções.
Mas a forma como os computadores contam a hora e a data é muito diferente da forma como a gravamos. Em vez de gravar uma hora, data e ano separados - os sistemas informáticos usam um único número. Este número é baseado no número de segundos de um ponto de ajuste no tempo - conhecido como a primeira época.
Quando esta época é, depende do sistema operacional ou da linguagem de programação em questão. Por exemplo, os sistemas Unix têm uma época privilegiada que começa no 1 janeiro 1970 e o número de segundos da época são contados em um inteiro de bits 32. Outros sistemas operacionais, como o Windows, usam um sistema similar, mas a época é diferente (o Windows é iniciado no 1 janeiro 1601).
Existem, no entanto, desvantagens para este sistema inteiro. Por exemplo, como o sistema Unix é um inteiro de número 32 que começou no 01 Jan 1970, por 19 janeiro 2038, o número inteiro terá esgotado todos os números possíveis e terá que retornar para zero. Isso pode causar problemas com sistemas dependentes do Unix em um problema que lembra o bug do Millennium.
Há outras questões que envolvem o tempo do computador também. Devido aos requisitos globais da Internet, todo o tempo do computador agora é baseado em UTC (Tempo Universal Coordenado). No entanto, o UTC é alterado na ocasião, adicionando Leap Seconds para garantir que o tempo coincida com a rotação da Terra (a rotação da Terra nunca é exata devido a forças gravitacionais), então o segundo impulso deve ser englobado em sistemas de tempo do computador.
Tempo de computador é freqüentemente associado a NTP (Network Time Protocol) que é usado para sincronizar computadores, muitas vezes usando um servidor de tempo de rede.