Mostrando postagens com marcador relógio. Mostrar todas as postagens
Mostrando postagens com marcador relógio. Mostrar todas as postagens

domingo, 22 de janeiro de 2012

Problema de Lógica: O relógio quebrado

O relógio do quarto de Pedro está quebrado. A cada hora o relógio adianta 36 minutos. No entanto, exatamente uma hora atrás, o relógio parou mostrando 8:24 da manhã. Pedro sabe que o relógio mostrou o horário certo às 2 horas da manhã. Que horas são agora?






RESPOSTA






O relógio, de forma incorreta, funcionou das 2 horas da manhã até 8:24, quando parou, desta forma, funcionou por 6 horas e 24 minutos, ou 384 minutos. Cada 96 minutos deste tempo em funcionamento, na realidade correspondem a uma hora pois o relógio adianta 36 minutos a cada 60 minutos.

Dividindo o tempo em que o relógio esteve em funcionamento (384) pelos minutos que correspondem a uma hora real (96), percebe-se que o relógio funcionou por 4 horas (384/96). Pelo horário real, o relógio funcionou das 2 horas da manhã até 6 horas, que foi uma hora atrás, portanto, agora são 7 horas da manhã.

hora certa    hora no relógio
   2:00            2:00
   3:00            3:36
   4:00            5:12
   5:00            6:48
   6:00            8:24
   7:00

sexta-feira, 25 de fevereiro de 2011

Ajustando o relógio em um sistema Linux

Em um sistema Linux existem dois relógios principais, o relógio do hardware, que funciona independentemente de qualquer programa em execução na CPU e mesmo quando a máquina está desligada, e o relógio do sistema, que é controlado pelo kernel, conduzido por uma interrupção de tempo e funcionando somente quando o sistema está em execução na máquina.

O relógio do hardware é também chamado relógio de hora real (RTC), relógio do BIOS e relógio do CMOS.

O relógio do sistema é o relógio mais importante. O propósito básico do relógio do hardware, em um sistema Linux, é de manter o tempo enquanto o Linux não está em execução. O Linux, durante sua inicialização, inicia o relógio do sistema com o tempo do relógio do hardware e, a partir de então, não usa mais o relógio do hardware.

O kernel Linux mantém ainda o conceito de fuso horário para o sistema. Armazenado na variável de sistema 'TZ' e ou no diretório '/usr/share/zoneinfo'. Deste modo é possível armazenar a hora GMT no hardware e a hora local no sistema. A ferramenta 'tzselect' serve para definir o fuso horário.

Para ajustar o relógio do sistema e o relógio do hardware, uma distribuição Linux possui duas ferramentas de linha de comando, o 'date' e o 'hwclock'.

A ferramenta 'date' ajusta a hora e a data no sistema. Uma sintaxe que pode ser no modelo 'date MMDDhhmmAAAA', a linha de comando da ferramenta 'date' para, por exemplo, a hora local "Fev 25 14:29:49 BRT 2011", é:

# date 022514292011

Uma simples execução do comando 'date', sem opções, retorna a hora do sistema. Assim como a execução do comando 'hwclock --show' retorna a hora do hardware.

Para ajustar o relógio do hardware a partir da hora e da data do sistema, usa-se a ferramenta 'hwclock' com as seguintes opções:

# hwclock --localtime --directisa --systohc

Este exemplo anterior é para quando o relógio do hardware armazena a hora local, não a hora GMT. O que é mais comum em um computador. Uma explicação de cada opção do comando 'hwclock' pode ser encontrada em sua página manual. É possível definir a hora e a data diretamente em sua linha de comando, bem como ajustar no sentido inverso, do hardware para o sistema.

Outra ferramenta interessante é a 'ntpdate'. O comando 'ntpdate' ajusta a hora e a data do sistema via protocolo NTP, acessando um servidor NTP pela Internet. É como se fosse ligar para o serviço Hora Certa da companhia telefônica. O tempo recebido por esta ferramenta é bastante preciso, considerado como a hora correta. Um exemplo de linha de comando é:

# ntpdate a.ntp.br b.ntp.br

Esta ferramenta aceita mais de um servidor em sua linha de comando, resultando em uma maior precisão no tempo calculado. Existe também o serviço 'ntpd' para que o ajuste seja automatizado no sistema. Uma limitação da ferramenta 'ntpdate' é de não funcionar em um acesso à Internet por meio de servidor proxy. A não ser que o proxy esteja com a porta 123/UDP aberta.

Todas estas ferramentas, como visto, são para linha de comando. A distribuição Fedora, e outras, contém também a ferramenta gráfica 'system-config-date' para ajustar a hora e a data do sistema.