Проблема 2038 года

Совсем недавно человечеству угрожала проблема перехода времени компьютеров в 21 век, известная проблема 2000. Но как оказывается не за горами еще одна проблема времени в компьютерных системах.  Правда коснется она в основном компьютеров на операционной системе UNIX (к слову подавляющее большинство серверов в сетях работают именно на этой ОС).

Итак, загвоздка в том, что так называемое UNIX-время (эпоха unix-систем начинается 1 января 1970 года) хранится в виде 32-битного целого числа и самое позднее время, которое способно хранить это число — это 03:14:07, вторник, 19 января 2038 года по Всемирному времени (UTC).

 

Более позднее время заставит такое поле данных стать отрицательным, как бы закольцевав таким образом время (поскольку отрицательное число может быть воспринято программами как время в 1970 или 1901 году, в зависимости от реализации). В результате могут быть произведены ошибочные вычисления или результаты.

Для проблемы 2038 года не существует простого решения для существующих комбинаций процессоров и операционных систем. Полная замена на 64-разрядное представление этого типа данных, по мнению специалистов, до 2038 года невозможно.

 

 

Оставьте комментарий