Como funciona uma aplicação de despertador? [fechadas]

0

Meu telefone está morto e não tenho despertador. Aqui estava a minha solução (no Bash) para garantir que eu acordaria amanhã de manhã

while [ 1 ]; do
  TIME=$(date +'%H'):$(date +'%M')
  echo $TIME
  if [ $TIME == "06:15" ];then
    osascript -e "set Volume 3"
    open /Path/To/MyFavouriteSong.mp3
    break
  fi
  sleep 58
done

Esse código funciona bem (em Mac OSX 10.12.2 e enquanto meu computador não for dormir), mas parece um pouco bobo.

Não está claro para mim como o processador faz para medir um certo tempo. Eu não sei se tipicamente um aplicativo de despertador testa a cada 58 segundos (ou outro período de tempo mais próximo mas ainda menor que um minuto) se já é hora de soar o alarme ou se existe algum mecanismo para a CPU enviar um alarme. sinal para o programa em um horário específico.

    
por Remi.b 05.02.2017 / 22:40

1 resposta

4

Aqui link é explicado ( no exemplo do cron) como você poderia implementar um programa, que faz algo a cada X segundos / minutos. Isso é feito de forma semelhante à sua abordagem.

Se a sua pergunta foi, como a CPU sabe a hora atual: Geralmente há um relógio de hardware na Mainboard, funcionando da mesma forma que um relógio de pulso de quartzo comum, que pode se comunicar com a cpu. A cpu pode perguntar a cada relógio ou a qualquer hora, qual é a hora exata. Esta é a razão pela qual normalmente há uma bateria de célula tipo moeda na placa-mãe: Para manter o relógio do hardware funcionando.

    
por 05.02.2017 / 23:17