Pages

Tuesday, December 16, 2014

Y2K All Over Again?

The Y2K (year 2000) bug was old computer coding that used two digits to express the year, meaning that when the year flipped to 2000 (i.e., "00"), computers would crash bringing our banking systems, utility systems, etc., to their knees. It didn't happen, although it spawned a lot of interest in preparedness, and made a lot of people money in the computer consultancy business.

The Daily Mail reports on a similar problem, warning of similar consequences at 14 minutes and seven seconds past three on the morning of Tuesday 19 January 2038 UTC.
The Year 2038 Problem, or Y2038, specifically affects software using a 32-bit integer system. 
It is a similar problem that was faced in the year 2000, when the Millennium Bug, also known as the Y2K, meant certain computers couldn't distinguish between the years 1900 and 2000. 
32-bit systems use four bytes, which mean they can use 4GB of memory in one go. By comparison, a 16-bit system uses two bytes and 64-bit systems use eight.

For example, a program that looks ahead 20 years will need to be fixed by 2018. After 2018, it won't be able to register dates after 19 January 2038 and bugs may appear.
 

These systems store memory and carry out processes using binary digits, represented as 0 or 1 - and the total number of digits a 32-bit system can represent is 4,294,967,295.
But because half of the values are negative, and half are positive this doesn't range from zero up to 4,294,967,295.
 
Instead, the total numbers range from -2,147,483,648 to 2,147,483,647, thus making the upper limit of a 32-bit system 2,147,483,647.  
This means there is only a limited amount of storage that can be used to store all the binary 0 and 1 numbers.  
* * * 
The standard four-byte format assumes the beginning of time is 1 January, 1970, at 12:00:00 a.m.  
When the clock strikes 03:14:07 UTC on Tuesday, 19 January 2038, a total of 2147483647 seconds since 1 January 1970 will have passed. 
According to the article, "[o]nce the bug hits, affected computers will not be able to distinguish between the real time and date, and the year 1901. For some computers this will simply mean the date is shown as incorrect, but it could equally wipe out computers and programs that rely on the internal clock to make precise measurements, for example."

At this point, I'm going to have to say that this will be as big a flop as the Y2K bug.

No comments:

Post a Comment