Другие языки программирования и технологии
Проблема 2038 года в вычислительной технике
Мне интересно узнать ваше мнение об этой проблеме и какие способы ее решения придуманы. Информация ниже взята с википедии. Проблема 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 года.
1971 — появление первого микропроцессора (процессора, помещающегося на интегральной микросхеме) Intel 4004. Этот процессор имел разрядность в 4 бита, и применялся, например, в калькуляторах или схемах управления светофорами. Из микропроцессоров 1970-х годов, нашедших применение в персональных компьютерах, стоит упомянуть 8-разрядные Intel 8080, MOS 6502, Motorola 6800 и 16-разрядные Intel 8086, Intel 8088.
таким образом в новейшей истории за последнии 38 лет сменилось 9 поколений компьютеров и разрядность на них увеличилась
с 4 бит до 64 бит то есть в 16 раз
и если компьютерная техника будет развиватся такими же темпами то за оставшиеся 29 лет нас ждёт как минимум ещё 6 поколений а так как на данный момент компьютеры 4 поколения (с 286 процессором) сейчас можно встретить только в музее
то и на момент возникновения проблемы разрядность должна будет увеличится минимум в 10 раз а так как представление целого зависит от разрядности то 19 января 2038 представление целого будет порядка 300 байт а в десятичной системе я даже боюсь считать
вот так... .
таким образом в новейшей истории за последнии 38 лет сменилось 9 поколений компьютеров и разрядность на них увеличилась
с 4 бит до 64 бит то есть в 16 раз
и если компьютерная техника будет развиватся такими же темпами то за оставшиеся 29 лет нас ждёт как минимум ещё 6 поколений а так как на данный момент компьютеры 4 поколения (с 286 процессором) сейчас можно встретить только в музее
то и на момент возникновения проблемы разрядность должна будет увеличится минимум в 10 раз а так как представление целого зависит от разрядности то 19 января 2038 представление целого будет порядка 300 байт а в десятичной системе я даже боюсь считать
вот так... .
Я так думаю, что в 38 году 128 разрядные процессоры и операционные системы будут динозаврами. time_t будет как минимум 256 разрядным, в которое не только все необходимые секунды, но и наносекунды нормально влезут.
да ерунда это всё и не актуално, тоже самое было и в 2000 году если кто забыл, и всё быстро решилось, к томуже к этому времени не один раз и железо и программное обеспечение сменится. так что нечего панику поднимать
а юниксы еще не вымрут?..
выпустят POSIX-2 и все, проблемы небудет, в общем то проблема суто теоретическая, да и относится только к никсам
Надуманная проблема также как и прогноз краха всех компьютерных систем 1 января 2000года.
Переживем и эту!
Просто кому-то выгодно посеять панику и срубить под это дело бабла немерянно!
Переживем и эту!
Просто кому-то выгодно посеять панику и срубить под это дело бабла немерянно!
апляпестецмывсеумрем!
решается все это переходом на винду) ) ну а если серьезно, то если к 38 году у нас будут ОС и компы в привычном нам сейчас понимании, то я сильно беспокоюсь за будущее нашей цивилизации....
Похожие вопросы
- Вот учусь на на программиста (информатика и вычислительная техника), прошел уже почти целый год, а в программировании я
- С чего начать (с какой книги?) изучение программирования по дисцеплине ПО вычислительной техники и АС?
- Можно ли стать программистом Java если поступать на факультет информатики и вычислительной техники???
- По мере роста производительности вычислительной техники ПО становится всё более требовательным...
- что будет такого с техникой 19 января 2038 года?
- Вычислительная система (дедушка PC) использовались раньше, а Электро-вычислительная машина на сегодняшний день?
- Что для программиста важнее : знания языка или знания алгоритмов и математики, комбинаторики, вычислительной геометрии..?
- Какой вычислительный процесс называют процессом с разветвлением
- Какие есть виды ЭВМ? (Электронная вычислительная машина)
- Помогите привести примеры использования компьютерной графики для вычислительного эксперимента