Проблема 2038

Проблема 2038
Пример, показывающий сброс даты (в 03:14:08 UTC 19 января 2038 года).

Проблема 2038 года в вычислительной технике — ожидаемые сбои в программном обеспечении 19 января 2038 года. Данная проблема затрагивает программы и системы, в которых используется представление времени по стандарту Unix time), которое представляет собой количество секунд, прошедшее с 1 января 1970 года. Такое представление времени — это стандарт для Unix-подобных операционных систем (из-за повсеместного использования языка Си).

На большинстве 32-битных систем используется тип данных time_t для хранения секунд в виде signed int (32-битного целого со знаком). Самая поздняя дата, которая может быть представлена таким форматом в стандарте 19 января 2038 года по Всемирному времени (UTC).

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

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

Изменение определения типа time_t на 64 бита нарушит бинарную совместимость программ, существующих хранимых данных и всего другого использующего представление времени в бинарном виде. А приведение time_t в целое без знака может нарушить работу программ, которые вычисляют разницу во времени.

На большинстве операционных систем для 64-битных архитектур уже используется 64-битное представление целого в time_t. Переход на такие архитектуры уже происходит, и некоторые ожидают, что он будет завершён к 2038 году.

Тем не менее сотни тысяч 32-битных систем всё ещё вводятся в строй в 2009 году, в том числе и во встраиваемых системах. Вызывает сомнение, что они все будут заменены к 2038 году. Несмотря на то, что современные компьютерные системы могут модернизироваться раз в 18-24 месяцев, встроенные компьютеры могут действовать без модернизации весь срок, который работают системы, ими управляемые. Например, компьютеры управления процессами модели IBM 1800, выпуск которых был начат в 1965 году, всё ещё использовались на одной из атомных станций в Канаде в 2006 году.

В дополнение к этому, 32-битный формат time_t также включён в спецификации форматов файлов, таких как повсеместно распространённый архивный формат

Введение 64-битного формата вносит новую дату «закольцевания» через примерно 290 миллиардов лет, в 15:30:08 UTC в воскресенье, 4 декабря 292 277 026 596 года. Но данная проблема, в принципе, срочной не считается.

См. также


Wikimedia Foundation. 2010.

Игры ⚽ Нужно решить контрольную?

Полезное


Смотреть что такое "Проблема 2038" в других словарях:

  • Проблема 2038 года — В этой статье не хватает ссылок на источники информации. Информация должна быть проверяема, иначе она может быть поставлена под сомнение и удалена. Вы можете …   Википедия

  • Проблема 2000 — года (часто она обозначается как «проблема Y2K» или «Y2K совместимость») проблема, связанная с тем, что разработчики программного обеспечения, выпущенного в XX веке, иногда использовали два знака для представления года в датах, например, 1 января …   Википедия

  • Проблема Y2K — Проблема 2000 года (часто она обозначается как «проблема Y2K» или «Y2K совместимость») проблема, связанная с тем, что разработчики программного обеспечения, выпущенного в XX веке, иногда использовали два знака для представления года в датах,… …   Википедия

  • Проблема 100 года — Проблема 100 года  потенциальная проблема, которая могла возникнуть в компьютерных системах Тайваня в 2011 году.[1] Она связана с тем, что в Китайской Республике в официальных целях используется календарь Миньго (англ.)русск.,… …   Википедия

  • Проблема 2000 года — Табло показывает 3 января 1900 года, вместо 3 января 2000 года. Франция …   Википедия

  • Проблема 10000 года — Проблема 10000 года  собирательное название для предполагаемых проблем, которые могут возникнуть при работе с программным обеспечением, для представления года в датах которого используются только 4 цифры. Такой подход может привести к… …   Википедия

  • Проблема 100000 года — Проблема 10000 года  собирательное название для предполагаемых проблем, которые могут возникуть при работе с программным обеспечением, для представления года в датах которого используются только 4 цифры. Такой подход может привести к ошибкам и… …   Википедия

  • Проблема Y10K — Проблема 10000 года  собирательное название для предполагаемых проблем, которые могут возникуть при работе с программным обеспечением, для представления года в датах которого используются только 4 цифры. Такой подход может привести к ошибкам и… …   Википедия

  • Проблема 30828 года — Пробле?ма 30828 го?да ожидаемые сбои в программном обеспечении в 30828 году, вызванные невозможностью компонента SYSTEMTIME Windows API просчитывать дату дальше 30827 года по причине 16 битного поля для хранения номера года и допустимых значениях …   Википедия

  • Y2K — Проблема 2000 года (часто она обозначается как «проблема Y2K» или «Y2K совместимость») проблема, связанная с тем, что разработчики программного обеспечения, выпущенного в XX веке, иногда использовали два знака для представления года в датах,… …   Википедия


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»