web-dev-qa-db-fra.com

Pourquoi l'heure Unix commence-t-elle le 1970-01-01?

Pourquoi l'heure Unix commence-t-elle le 1970-01-01? Pourquoi pas le 1971-01-01 ou toute autre date?

49
Templar

Je n'aurais pas connu la réponse, sauf que Google était là pour moi:

De ici (nécessite un abonnement gratuit):

Linux suit la tradition établie par Unix de compter le temps en secondes depuis son "anniversaire" officiel - appelé "Epoch" en termes informatiques - qui est le 1er janvier 1970.

Une explication plus complète peut être trouvée dans ce Wired News article . Il explique que les premiers ingénieurs Unix ont choisi cette date arbitrairement, car ils devaient fixer une date uniforme pour le début de l'heure, et le Nouvel An, 1970, semblait le plus pratique.

30
Hanan N.

Unix n'est pas né en 1970.

L'époque Unix est à minuit le 1er janvier 1970. Il est important de se rappeler que ce n'est pas "l'anniversaire" d'Unix - des versions approximatives du système d'exploitation existaient dans les années 1960. Au lieu de cela, la date a été programmée dans le système au début des années 70 uniquement parce que c'était pratique de le faire, selon Dennis Ritchie, l'un des ingénieurs qui a travaillé sur Unix chez Bell Labs à ses débuts.

6
Danny A

J'aime la question :-)

Permettez-moi d'essayer d'y répondre (bien sûr, source: Internet)

Unix Time est représenté par un nombre entier de 32 bits (un entier) qui peut être positif ou négatif (signé). Unix a été initialement développé dans les années 60 et 70, de sorte que le "début" de l'heure Unix a été fixé au 1er janvier 1970 à minuit GMT (Greenwich Mean Time) - cette date/heure a été affectée à la valeur de l'heure Unix de 0. C'est ce que l'on sait comme l'époque Unix.

Un entier signé de 32 bits peut représenter des nombres entiers compris entre -2147483648 et 2147483647. Puisque l'heure Unix commence à 0, les valeurs négatives de l'heure Unix remontent dans le temps depuis l'époque et les nombres positifs avancent dans le temps. Cela signifie que le temps Unix s'étend de la valeur de temps Unix de -2147483648 ou 20:45:52 GMT le 13 décembre 1901 à la valeur de temps Unix de 2147483647 ou 3:14:07 GMT le 19 janvier en 2038. Ces dates représentent le début, le préhistoire et fin du temps Unix.

La fin de l'heure Unix aura lieu le 19 janvier 2038 03:14:07 GMT. Le 19 janvier 2038 03:14:08 GMT, tous les ordinateurs qui utilisent encore le temps Unix 32 bits déborderont. C'est ce qu'on appelle le "problème de l'an 2038". Certains pensent que ce sera un problème plus important que le "problème de l'an 2000". La solution au problème de l'année 2038 consiste à stocker l'heure Unix dans un entier 64 bits. Ceci est déjà en cours dans la plupart des systèmes d'exploitation 64 bits, mais de nombreux systèmes pourraient ne pas être mis à jour d'ici 2038.

3
Nikhil Mulley