Year 2000 technical summary |
1 | Introduction | << >> |
|
1.0 | Contents |
1.0 Contents | ||
1.1 Scope | ||
1.2 Dates and the PC | ||
1.3 Dates and Macintosh Computers | ||
1.4 Notes | ||
1.5 The problems | ||
1.6 Problem manifestation | ||
1.7 Date storage | ||
1.8 Date calculations |
1.1 | Scope |
This documentation covers many of the technical details behind Year 2000
related software and hardware problems.
It contains concise descriptions of software and hardware components which
may be vulnerable to date problems, along with brief descriptions of how
and why the problems occur, so that the solutions and implications may be
better understood.
Where relevent, pointers to 3rd party and vendor resources are given.
The systems discussed in general are the supported personal computers, systems and servers used within U.C.D. by Computing Services. It is not a canonical list of every software package, bug or item of computer hardware, there are many other resource which address this (see References). |
1.2 | Dates and the PC |
In general, there are 3 sources of date/time on a PC (excluding add-in cards
either to designed to solve Y2K related problems or provide time from an
external source for scientific purposes).
Most of the RTC chips in PCs are not Y2K compliant, they only store 2 digit years (some estimates put this figure at >80%). This is typically not a problem, as long as the machine BIOS and/or OS are aware of this feature. Many are, some are not, and some have faulty logic for deducing the year (for example AMI V4.5 BIOS code assumes that the year must be between 1994 and 1999, and will force it to be so). |
1.3 | Dates and Macintosh Computers |
Incomplete at this time (1999-11-18). |
1.4 | Notes |
Some notes:
|
1.5 | The problems |
There are many large and small problems that can occur(¹), these
result from program logic errors in the storage, calculation, input or
output of dates.
The side effects of a date error can be none, or significant.
|
|
1.6 | Problem manifestation |
|
|
1.7 | Date storage |
Dates are stored in computers in a variety of internal formats, using a
variety of schemes:
A common cause (but certainly not the only cause) of Y2K related problems is that in an attempt to save storage the century digit of the year were not stored and assumed to be "19". This restricts valid dates to the window [1900-1999]. Other systems (like some PC BIOSes) are smart enough to use 1980-2079 as the window, and assume years [80-00] to be in the 20th century, and years [01-79] to be in the 21s century. |
1.8 | Date calculations |
The calculation of dates, past and future, and the amount of time between
2 dates is relatively complicated (leap year, leap seconds, time zones,
daylight savings etc...). And given the
origins of the calendar system
which is based on seasons, the phase of the moon, and the whims of popes
and emperors over the millenia, it's surprising that it works at all.
The only real way to handle date calculations is to convert a human readable date to a normalized date form (such as seconds since a particular epoch in a particular time zone), perform the calculations, and convert back to human readable form
|
|