2038 - это для Linux то же, что Y2K был для мэйнфреймов и ПК в 2000 году.
Проблема 2038 года в вычислительной технике — ожидаемые сбои в программном обеспечении накануне 19 января 2038 года. Данная проблема затронет программы и системы, в которых используется представление времени по стандарту POSIX (UNIX-время), которое представляет собой количество секунд, прошедшее с полуночи 1 января 1970 года. Такое представление времени — это стандарт для Unix-подобных операционных систем (из-за повсеместного использования языка Си).
Проблема начинается с того, как Unix показывает время. ОС основанные на Unix совместимые с POSIX датируют начало времени от эпохи: 00:00:00 GMT 1 января 1970 года. Семейство Unix измеряет время по количеству секунд, прошедших с начала эпохи.
Пока все идет хорошо. Но, поскольку Unix и семейство начинали как 32-разрядные операционные системы, значение времени сохраняется как единственное знаковое 32-разрядное целое число. Это много секунд, но так же, как и в прошлом столетии Y2K bug (проблема 2000 года), этого недостаточно.
Разработчики Linux предвидели это на протяжении десятилетий. Итак, разработчик ядра Linux Арнд Бергман и другие специалисты работают над решением проблемы. Эти исправления теперь находятся в готовящемся ядре Linux 5.6. Бергман объяснил: "Linux-5.6, или мой бэкпорт патч к 5.4, должен быть первым релизом, который может служить основой для 32-битной системы, предназначенной для работы после 2038 года."
Теперь вы можете задаться вопросом - поскольку сегодня мы все работаем на 64-битных компьютерах - почему это вообще проблема? Ну, это так. Во-первых, многие встраиваемые системы и устройства Интернета вещей все еще работают под управлением 32-разрядных операционных систем.
Мы также знаем, что благодаря появившейся в 2020 году ошибке Y2K , системы, которые, как вы предполагаете, будут захоронены на свалках через 18 лет, все еще будут живы и здоровы.
Но посмотрите на это следующим образом: после того, как это исправят, нам не придется беспокоиться о том, что 64-битному Linux не хватит секунд до 15:30:08 по Гринвичу, воскресенье, 4 декабря, 29 227 702 659.