Старые компьютеры подвержены риску серьезных сбоев программного обеспечения | «Будущее сейчас»
153  Просмотров

«Проблема 2038 года» (также известная как “Y2K38” по аналогии с «ошибкой 2000 года») получает значительное внимание общественности и СМИ в этом году. Что влияет на программы, написанные на языке программирования Си. Они были относительно устойчивы к проблемам 2000 года, но не к проблемам 2038 года. Они используют подпрограммы, которые вызываются стандартной библиотекой времени. Данные хранятся как 32-битное целое число и интерпретируется текущим значением как число секунд, прошедших с 00:00:00 UTC с Четверга, 1 Января 1970.

В связи с ограниченным числом возможных значений, которые могут быть выведены из этого 32-разрядного целого числа, самый дальний период времени, который может быть представлен, является 3:14:07 UTC Вторник, 19 января 2038. Любое значение за этой точкой будет сохраняться в памяти как отрицательное число, которое эта система будет интерпретировать как дату, начиная с 1901, а не 2038 года. Это явление называется целочисленным переполнением.

Старые компьютеры подвержены риску серьёзных сбоев программного обеспечения из-за ошибочных подсчётов. К счастью, большинство систем было модернизировано до настоящего времени, и ущерб будет очень мал при возникновении проблем подобного рода.

 

Поделиться:


2038

Нет комментариев