Выбор фона:
20.11.2015

Проблема 2038

Оценка: 0.0    2997 4 Наука и Технологии
11:20
Проблема 2038 года в вычислительной технике — ожидаемые сбои в программном обеспечении 19 января 2038 года. Данная проблема затрагивает программы и системы, в которых используется представление времени по стандарту POSIX (UNIX-время), которое представляет собой количество секунд, прошедшее с 1 января 1970 года. Такое представление времени — это стандарт для Unix-подобных операционных систем (из-за повсеместного использования языка Си).

В старых 32-битных системах (до середины 90-х) используется тип данных time_t для хранения секунд в виде signed int (32-битного целого со знаком). Самая поздняя дата, которая может быть представлена таким форматом в стандарте POSIX — это 03:14:07, вторник, 19 января 2038 года по Всемирному времени (UTC).



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

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

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

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

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

В дополнение к этому, 32-битный формат time_t также включён в спецификации форматов файлов, таких как повсеместно распространённый архивный формат ZIP. Формат файла может существовать в течение времени, за которое сменятся многие поколения компьютеров, а это означает, что Проблема 2038 останется актуальной.

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

 


Поделитесь в социальных сетях

Комментарии 4

0  
sansan 20.11.2015 14:24 [Материал]
Помню, точно так же пугали проблемой 2000 biggrin
0  
selen@ 20.11.2015 22:26 [Материал]
и эта проблема в 2000 году проявилась, лично устранял глюк в программно-аппаратном устройстве под управлением MS-DOS в одной гос.организации. благо это устройство не управляло ничем опасным для людей.
0  
Guest 20.11.2015 13:07 [Материал]
О какой проблеме идет речь о расспределении денег на решение несуществующей проблемы ? Иначе как еще к этому можно относиться учитывая то, насколько актуальным будет существующее программное обеспечения при достижении указанной даты... biggrin biggrin biggrin
0  
Arwis 20.11.2015 12:21 [Материал]
Не нужно его менять на 64-битный! Достаточно изменить его тип на беззнаковый и слегка изменить алгоритмы работы с этим значением. Эта мера добавить ещё 68 лет к работе устройств. А за 68 лет может произойти всё, что угодно...
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]

Похожие материалы

ТОП Новостей
Материалов за сегодня нет.
Разговоры у камина
Календарь
Последние комментарии
ООН заключило договор с инопланетными расами о постройке ими баз на обратной стороне Луны
Точно. 
Либо дело делать, либо сказки сказывать.
Мал бывал — сказки слушал; вырос вели (от Катенька)

Останки первых людей возрастом 1,86 миллиона лет обнаружили в Кении
Румынский ,местечковый язык пастухов ,а не имеющий те же корни могучий и совершенный государственный (от Везунчик)
Останки первых людей возрастом 1,86 миллиона лет обнаружили в Кении
Поспорить не с чем. Кроме того что искусственный язык лишон души - того звучания которое сохраняется (от Везунчик)
ООН заключило договор с инопланетными расами о постройке ими баз на обратной стороне Луны
я каждую ночь хожу туда по маленькому. почему бы не землян луна?
зеленых я там не видел, хотя (от limon-1661i1)