Em suma, compatibilidade.
O formato que o crontab usa é descrito em detalhes minuciosos como parte da especificação POSIX . As distros do Linux geralmente não são 100% totalmente compatíveis com as especificações POSIX, mas geralmente são muito próximas, pois a maioria das coisas nas especificações POSIX são as partes de uma máquina semelhante ao Unix que os desenvolvedores consideram garantida como existente. No que diz respeito a Cron, o Linux Standard Base especifica diretamente diretamente que ele deve se comportar de acordo com o POSIX .
Certamente, distros individuais podem optar por modificar o Cron que usam, mas Adicionar granularidade de segundo nível exigiria outro campo, tornando o novo crontab efetivamente completamente incompatível com praticamente tudo o que usa o Cron.
Porém, salientar que é para compatibilidade realmente não nos dá uma ideia do motivo pelo qual é granular apenas no nível minucioso. Então, por que Cron sempre usou granularidade em nível de minuto?
Bem, eu não estava exatamente lá (nem sequer nasci na época), mas suspeito que seja devido à maneira como o Cron foi implementado pela primeira vez .
O cron na Versão 7 Unix, escrito por Brian Kernighan, era um serviço do sistema (mais tarde chamado daemons) invocado no / etc / inittab quando o sistema operacional entrou no modo multiusuário. Seu algoritmo era direto:
Leia / usr / etc / crontab
2.Determine se algum comando deve ser executado na data e hora atuais e, em caso afirmativo, execute-o como superusuário, raiz.
3.Dormir por um minuto
4.Repita o passo 1.
Uma implementação de Cron baseada em um ciclo de suspensão quase certamente quebraria miseravelmente com granularidade mais fina do que um minuto; como é, o Cron teve que ser reescrito para usar métodos mais eficientes para poder lidar com cargas da ordem de 100 usuários. A granularidade de um segundo seria ainda pior do que a de apenas dois usuários.
Portanto, como o programa inicialmente não conseguia lidar com isso, e porque o formato continuava e porque a alteração seria uma quebra de compatibilidade bastante grande, é muito provável que o cron nunca suporte granularidade de sub-minuto. Especialmente porque, como MichaelT apontou nos comentários, o uso de comandos de suspensão pode criar facilmente o comportamento desejado , sem a necessidade de alterações no próprio Cron.