¿Por qué el tiempo de Unix comienza en 1970-01-01? ¿Por qué no 1971-01-01 o cualquier otra fecha?
¿Por qué el tiempo de Unix comienza en 1970-01-01? ¿Por qué no 1971-01-01 o cualquier otra fecha?
Respuestas:
No habría sabido la respuesta, excepto que google estaba allí para mí:
Desde aquí (necesita suscripción gratuita):
Linux sigue la tradición establecida por Unix de contar el tiempo en segundos desde su "cumpleaños" oficial, llamado "época" en términos informáticos, que es el 1 de enero de 1970.
Se puede encontrar una explicación más completa en este artículo de Wired News . Explica que los primeros ingenieros de Unix eligieron esa fecha arbitrariamente, porque necesitaban establecer una fecha uniforme para el comienzo del tiempo, y el Día de Año Nuevo, 1970, parecía más conveniente.
Unix no nace en 1970.
La época de Unix es la medianoche del 1 de enero de 1970. Es importante recordar que este no es el "cumpleaños" de Unix : las versiones aproximadas del sistema operativo existían en la década de 1960. En cambio, la fecha se programó en el sistema en algún momento a principios de los años 70 solo porque era conveniente hacerlo, según Dennis Ritchie, uno de los ingenieros que trabajó en Unix en Bell Labs desde su inicio.
Me gusta la pregunta :-)
Permítanme intentar responderlo (por supuesto fuente: internet)
Unix Time está representado por un número entero de 32 bits (un entero) que puede ser positivo o negativo (con signo). Unix se desarrolló originalmente en los años 60 y 70, por lo que el "inicio" de Unix Time se estableció el 1 de enero de 1970 a la medianoche GMT (hora media de Greenwich): a esta fecha / hora se le asignó el valor Unix Time de 0. Esto es lo que se sabe como la época de Unix.
Un entero con signo de 32 bits puede representar números enteros entre -2147483648 y 2147483647. Dado que el tiempo Unix comienza en 0, los valores negativos del tiempo Unix retroceden en el tiempo desde la época y los números positivos avanzan en el tiempo. Esto significa que el tiempo de Unix abarca desde el valor de tiempo de Unix de -2147483648 o 20:45:52 GMT el 13 de diciembre de 1901 hasta el valor de tiempo de Unix de 2147483647 o 3:14:07 GMT el 19 de enero de 2038. Estas fechas representan el comienzo, el prehistoria y el final de Unix Time.
El final de Unix Time ocurrirá el 19 de enero de 2038 03:14:07 GMT. El 19 de enero de 2038 03:14:08 GMT, todas las computadoras que todavía usan Tiempo Unix de 32 bits se desbordarán. Esto se conoce como el "problema del año 2038". Algunos creen que este será un problema más significativo que el "problema del año 2000". La solución para el problema del año 2038 es almacenar Unix Time en un entero de 64 bits. Esto ya está en marcha en la mayoría de los sistemas operativos de 64 bits, pero es posible que muchos sistemas no se actualicen para 2038.