O que é o leap second?
Como os profissionais e as empresas podem se precaver?
Quais os cuidados a serem tomados?
Leap second é um segundo extra, que será, em 2015, acrescentado na
virada do dia 30 de Junho, para o dia 01 de Julho (considerando-se o
horário padrão mundial UTC).
Na verdade, a maior parte do Brasil usa o fuso horário UTC-3, então, no
país isso não acontecerá à meia noite, mas sim às 20h59. Os relógios
deverão contar:
20h59m59s 30/06/2015
20h59m60s 30/06/2015 <------ div="" extra="" leap="" second="segundo">
------>
21h00m00s 30/06/2015
Por que precisamos desses 'leap seconds'?
Historicamente, o tempo era medido pelos eventos astronômicos. Por
exemplo, pela posição do Sol em relação à Terra. Antigamente a escala de
tempo GMT (Greenwich Mean Time) era utilizada. De forma simplificada,
pode-se dizer que a posição aparente do Sol, medida pelo Observatório
Real, em Greenwich, Londres, era a referência para a medida do tempo.
Contudo, nem a rotação da Terra, nem sua translação em torno do Sol são
tão precisas. E com o avanço da ciência e da precisão dos instrumentos,
era necessária uma forma melhor para medir o tempo. Atualmente o tempo é
medido por relógios atômicos: a definição do segundo se baseia nas
variações no estado dos átomos do Césio. Isso garante precisão e
acurácia muito superiores às das medições baseadas em observações
astronômicas.
A escala que é definida diretamente com base nos relógios de Césio
chama-se TAI (Tempo Atômico Internacional). Contudo, já que a rotação da
Terra não é tão precisa assim, com o tempo, haveria diferenças entre o
tempo medido pelo Sol (equivalente ao antigo GMT) e essa nova escala. Ou
seja, ao meio dia, depois de alguns anos, o Sol já não estaria mais a
pino.
Na verdade, é interessante notar que a Terra está desacelerando sua
rotação lentamente, por causa principalmente do "atrito" causado por
nosso satélite natural, a Lua: os dias estão ficando ligeiramente mais
longos com o passar dos séculos.
Para uso civil, no dia a dia, é muito mais cômodo que o Sol continue a
ser a referência. Foi criada então uma escala de tempo apropriada, o UTC
(Tempo Universal Coordenado). UTC e TAI são basicamente equivalentes,
no sentido de que o segundo é medido da mesma forma, tem a mesma
duração. Mas no UTC, os segundos são acrescentados ou 'pulados' quando é
necessário, para manter a sincronia com o Sol. Esse segundo a mais, ou a
menos, é o leap second. Não há uma periodicidade definida para isso
acontecer, já que a rotação da Terra não é regular. A inserção de um
leap second é decidida com base em medições precisas, e normalmente
anunciada com poucos meses de antecedência.
O que pode acontecer?
Em junho de 2012, na última vez em que houve um leap second, vários
sites importantes na Internet tiveram problemas sérios. Praticamente
todos que usavam aplicações Java, e alguns dos que usavam o sistema
operacional Linux sofreram problemas, como travamentos ou lentidão. Em
dezembro de 2008, na penúltima ocorrência do leap second, muitos
sistemas Linux apresentaram também travamentos.
Os bugs específicos que causaram esses problemas foram corrigidos. Mas
pode haver outros. No entanto não se espera nenhum desastre. Aviões não
vão colidir. Navios não irão se perder. Drones não identificarão alvos
errados. A Internet não sofrerá um colapso. Não haverá caos, nem o fim
da civilização conhecida.
O sistema GPS poderia ser motivo de preocupação, mas não usa UTC. Não
considera leap seconds. Obviamente os receptores GPS domésticos fazem a
devida correção antes de mostrar o horário, e até podem eventualmente
falhar (isso aconteceu em 2003 com alguns modelos). Mas o sistema GPS em
si está a salvo desse tipo de problema.
É razoável esperar, e se precaver para tentar evitar, problemas como
travamento de sistemas, lentidão, incongruência na análise de logs,
falhas em transações dos mais variados tipos.
Por que o leap second pode causar problemas?
Os computadores são muito sensíveis ao tempo. Este tem algumas
propriedades que por vezes são consideradas verdadeiras, mas nem sempre
realmente são em um ambiente computacional, dada a imprecisão dos
relógios:
O tempo sempre avança: ou seja, sempre anda pra frente. No dia a dia
isso é verdadeiro, mas um ajuste manual ou um problema podem fazer com
que o relógio do computador pare ou marque uma data no passado. Isso
pode levar a medições nulas ou negativas de tempo pelos programas, uma
situação que talvez não tenha sido prevista no software.
A medida de tempo é uma só: ou seja, há um padrão, os relógios dos
computadores estão sincronizados entre si. Na prática não é assim,
contudo, os softwares normalmente consideram que sim. Guardam registros
baseados nesses horários, que necessitam depois ser comparados entre si.
Fazem cálculos baseados nesses horários. Alguns algoritmos de
criptografia, citando um exemplo, deixam de funcionar se os relógios dos
computadores que participam da comunicação não estiverem sincronizados
entre si.
Normalmente o NTP, uma tecnologia que permite aos computadores manterem
os relógios sincronizados, é parte da solução para esse 'problema'. O
NTP resolve a necessidade dos computadores trabalharem sincronizados
entre si, com o tempo sempre avançando, e sincronizados com o padrão
mundial de tempo UTC.
O leap second também é tratado pelo NTP e pelos sistemas operacionais
dos computadores. Contudo, os problemas que aconteceram em 2008 e 2012
nos provaram que talvez essa situação não esteja tão bem equacionada
como deveria estar.
O código, a parte do software, que trata os leap seconds só é executada
uma vez a cada alguns anos, o que traz a possibilidade de nem todos os
erros terem sido ainda identificados, ou de novos erros terem sido
inseridos sem terem sido ainda percebidos.
Mesmo que o NTP e o sistema operacional estejam tratando corretamente a
situação, outros softwares talvez não estejam. Por exemplo, pode ser que
a solução para isso em um determinado sistema operacional seja
apresentar o segundo extra como uma repetição do último segundo do ano:
23h59m59s duas vezes... Isso equivale a fazer o relógio andar para traz
um segundo e pode levar a medições de tempo nulas ou negativas, gerando
erros talvez não previstos e tratados adequadamente.
Como os profissionais e as empresas podem se precaver?
Quais os cuidados a serem tomados?
Estudar a situação, entendendo o leap second e como ele é tratado nos
sistemas que sua organização utilizada, com a finalidade de entender se e
como eles podem ser afetados.
Zelar para os seus sistemas estejam corretamente atualizados e configurados, usando NTP
(e o www.ntp.br).
Realizar testes em ambiente apropriado, com antecedência, simulando o leap second que acontecerá em 30 de Junho.
Programar um plantão para o dia e horário do evento, executando testes apropriados em seus sistemas logo após o leap second.
Fonte: http://ufosonline.blogspot.pt/