You are on page 1of 2

Y2K38

The Y2K38 problem has been described as a non-problem, given that we are expecte
d to be running 64-bit operating systems well before 2038. Well, maybe.

The Problem
Just as Y2K problems arise from programs not allocating enough digits to the yea
r, Y2K38 problems arise from programs not allocating enough bits to internal tim
e.
Unix internal time is commonly stored in a data structure using a long int conta
ining the number of seconds since 1970. This time is used in all time-related pr
ocesses such as scheduling, file timestamps, etc. In a 32-bit machine, this valu
e is sufficient to store time up to 18-jan-2038. After this date, 32-bit clocks
will overflow and return erroneous values such as 32-dec-1969 or 13-dec-1901.

Machines Affected
Currently (March 1998) there are a huge number of machines affected. Most of the
se will be scrapped before 2038. However, it is possible that some machines goin
g into service now may still be operating in 2038. These may include process con
trol computers, space probe computers, embedded systems in traffic light control
lers, navigation systems etc. etc. Many of these systems may not be upgradeable.
For instance, Ferranti Argus computers survived in service longer than anyone e
xpected; long enough to present serious maintenance problems.
Note: Unix time is safe for the indefinite future for referring to future events
, provided that enough bits are allocated. Programs or databases with a fixed fi
eld width should probably allocate at least 48 bits to storing time values.
Hardware, such as clock circuits, which has adopted the Unix time convention, ma
y also be affected if 32-bit registers are used.
In my opinion, the Y2K38 threat is more likely to result in aircraft falling fro
m the sky, glitches in life-support systems, and nuclear power plant meltdown th
an the Y2K threat, which is more likely to disrupt inventory control, credit car
d payments, pension plans etc. The reason for this is that the Y2K38 problem inv
olves the basic system timekeeping from which most other time and date informati
on is derived, while the Y2K problem (mostly) involves application programs.

Emulation and Megafunctions


While 32-bit CPUs may be obsolete in desktop computers and servers by 2038, they
may still exist in microcontrollers and embedded circuits. For instance, the Z8
0 processor is still available in 1999 as an Embedded Function within Altera pro
grammable devices. Such embedded functions present a serious maintenance problem
for Y2K38 and similar rollover issues, since the package part number and other
markings typically give no indication of the internal function.
Software Issues
Databases using 32-bit Unix time may survive through 2038. Care will have to be
taken to avoid rollover issues.
Y2K related links

You might also like