(M)  s i s t e m a   o p e r a c i o n a l   m a g n u x   l i n u x ~/ · documentação · suporte · sobre

  Página seguinte Página anterior Índice

81. Um breve comentário sobre o xntpd

O seu sistema tem atualmente dois relógios -- o ``relógio de tempo real'' alimentado pela bateria, que mantém a hora mesmo quando o sistema é desligado ( também conhecido como o ``relógio da CMOS'', ``relógio do equipamento'' ou ``RTC'' ) e a ``hora do kernel'' ( algumas vezes chamada de ``relógio do programa'' ou ``relógio do sistema'' ), a qual é baseada na interrupção do marcador de tempo e é inicializada a partir do relógio da CMOS durante a inicialização. Os dois irão andar com diferentes taxas, então, eles irão gradualmente trabalharem separados um do outro,

Todas as referências ao ``relógio'' na documentação do xntpd, se referem ao ``relógio do kernel''. Quando você executa o xntpd ou timed ( ou qualquer outro programa que usa a chamada de sistema do adjtimex ), o kernel do Linux assume que o relógio do kernel é mais preciso do que o da CMOS, e reinicializa a hora da CMOS a cada 11 minutos ( até que a máquina seja reiniciada ). Isto significa que o ``relógio'' não sabe mais quando é que o relógio da CMOS foi mudado pela última vez, de modo que você não pode usar o fator de correção no arquivo /etc/adjtime. Pode-se usar o ntpdate no arquivo de inicialização para ( inicialmente ) configurar o relógio a partir de um servidor de tempo antes de iniciar o xntpd. Se não é sempre que se tem acesso a uma fonte de tempo durante a inicialização da sua máquina, isto pode ser um pouco inadequado -- o xntpd realmente não foi feito para ser usado em situações como essa.

Teoricamente, alguém poderia escrever um programa para usar um serviço de tempo e calcular automaticamente a taxa de alteração do relógios da CMOS e do kernel. Não conheço nenhum programa que faça isso, mas provavelmente a maioria do código será copiado do xntpd.


Página seguinte Página anterior Índice