singlepost

Проблема 2038 года в вычислительной технике << Назад  

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

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

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

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




Лучший поиск по проблемам с компьютером:


7 ответов в теме “Проблема 2038 года в вычислительной технике”

  1. 1
    Alex Denisenko ответил:

    У меня к тому времени по ходу уже не камп будет…..=)))

  2. 2
    Alex Denisenko ответил:

    а хз что…=))

  3. 3
    Гриша Раку ответил:

    такая хрень!!!! это сё!!! по среды до того времени поменяются двести раз!!!! а может воще сам принцеп будет другой!!!! все в ожидании войны!!!! а после войны как правило многое меняется!!!! так после 3 мировой появился мирный атом!!!

  4. 4
    Богдан Иванов ответил:

    О_оя что проспал 3 мировую? ))

  5. 5
    Alex Denisenko ответил:

    Видать я тож…..К счастью….а может и к сожалению…..=)

  6. 6
    Лёня Удалов ответил:

    а что раньше за базар был про проблему 2000года?

  7. 7
    Богдан Иванов ответил:

    базар был, вот он))

    Говоря коротко, суть Проблемы 2000 года (называемой по-английски Year 2000 Problem, Y2K Problem, Millenium Bug) состоит в возможной неправильной интерпретации компьютерными системами дат из следующего столетия, записанных в "коротком" формате, и неприятных последствиях такой интерпретации. Как возникла эта проблема?

    Привычная для нас, так называемая "короткая", запись даты с указанием только двух последних цифр года (например, 01.02.99 – 1 февраля 1999 года) содержит в себе неопределенность – мы опускаем номер столетия, подразумевая, что живем в XX веке. В результате усилий программистов по экономии памяти и дискового пространства на ранних этапах развития вычислительной техники, когда каждый байт был дорог (в прямом и переносном смысле), такое представление даты широко распространилось в компьютерных системах. Да и для пользователей такой формат даты был привычнее. Создавая новые типы компьютеров и операционных систем конструкторы и программисты принимали такой формат за стандарт, чтобы достичь совместимости с предыдущими версиями и сэкономить машинные ресурсы, не задумываясь о том, что любая неопределенность в такой детерминированной системе, какой является компьютер, рано или поздно проявит себя (впрочем, многие ли из нас задумываются о том, что будет через 20-30 лет?). В результате многие процессоры имеют специальные команды для обработки таких данных, то есть целых чисел от 0 до 99, многие операционные системы на запрос пользователя о текущей дате выдают ее в "коротком" формате, а многие программы (в том числе и очень распространенные) оперируют только с "короткой" датой.

    С развитием вычислительной техники и падением цен на ресурсы фирмы-производители компьютеров и программного обеспечения постепенно стали отказываться от практики использования этого формата данных, переходя к полному формату даты. Тем не менее на планете накоплен огромный парк компьютеров и программ, работающих с короткой датой. Таким образом, 1 января 2000 года многие компьютеры могут посчитать, что наступил 1900 год, и прекратить свою работу или повести себя непредсказуемым образом из-за многочисленных программных ошибок. Представьте себе, что это произошло на компьютере, управляющем, например, атомной электростанцией…

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

    Таким образом, компьютерная индустрия и, что самое главное, все пользователи встретились с проблемой полной ревизии своих программно-аппаратных средств на предмет корректной работы с датами XXI века. В мире на решение Проблемы 2000 года тратятся десятки миллиардов долларов, государства и корпорации прилагают для этого огромные усилия. В России, к сожалению, понимание проблемы до сих пор далеко не достаточное. Вопреки бытующему мнению об отсталости России в области компьютерных технологий страна компьютеризована значительно сильнее, чем многие другие, считающиеся развитыми. Поэтому недооценка важности проблемы может привести к последствиям, по сравнению с которыми кризис 17 августа 1998 года может показаться мелкой неприятностью.

Мы оказываем помощь вашим компьютерам с 2009 года под присмотром Adomains.