Wednesday, May 13, 2020

Y2K (Year 2000 Problem) & Year 2038 Issue

Y2K(Year 2000 Problem) 
=-----------------------------------= 
What Is the Y2K Problem? 
------------------------------------- 
Y2K bug, also called Year 2000 bug or Millennium Bug, a problem in the coding of computerized systems that was projected to create havoc in computers and computer networks around the world at the beginning of the year 2000. 
 Until recently, computer programmers have been in the habit of using two digit placeholders for the year portion of the date in their software. For example, the expiration date for a typical insurance policy or credit card is stored in a computer file in MM/DD/YY format (e.g. - 08/31/99). 

Programmers have done this for a variety of reasons, including: 
  • That's how everyone does it in their normal lives. When you write a check by hand and you use the "slash" format for the date, you write it like that. 
  • It takes less space to store 2 digits instead of 4 (not a big deal now because hard disks are so cheap, but it was once a big deal on older machines). 
  • Standards agencies did not recommend a 4-digit date format until recently. 
  • No one expected a lot of this software to have such a long lifetime. People writing software in 1970 had no reason to believe the software would still be in use 30 years later. 

The 2-digit year format creates a problem for most programs when "00" is entered for the year. The software does not know whether to interpret "00" as "1900" or "2000". Most programs therefore default to 1900. That is, the code that most programmer's wrote either prepends "19" to the front of the two-digit date, or it makes no assumption about the century and therefore, by default, it is "19". 

The important thing to recognize is that that's it. That is the whole Year 2000 problem. Many programmers used a 2-digit format for the year in their programs, and as a result their date calculations won't produce the right answers on 1/1/2000. There is nothing more to it than that. 

The solution, obviously, is to fix the programs so that they work properly. There are a couple of standard solutions: 
  • Recode the software so that it understands that years like 00, 01, 02, etc. really mean 2000, 2001, 2002, etc. 
  • "Truly fix the problem" by using 4-digit placeholders for years and recoding all the software to deal with 4-digit dates. [Interesting thought question - why use 4 digits for the year? Why not use 5, or even 6? Because most people assume that no one will be using this software 8,000 years from now, and that seems like a reasonable assumption. Now you can see how we got ourselves into the Y2K problem. 

Finally it get resolved with the date was simply expanded to a four-digit number. Governments, especially in the United States and the United Kingdom, worked to address the problem. 

Is the Year 2038 problem will be the new Y2K bug? 

In fact, it is claimed, Y-2038 is so bad it could be worse than Y2k. It may be true. Just like Y2K, if left unchecked, Y-2038 could cause major issues for any computer systems. But just like Y2k, any prediction of planes falling out of the sky and the banking system melting down are likely to be a tough case to be coming true. 

The year 2038 problem is caused by 32-bit processors and the limitations of the 32-bit systems they power. The processor is the central component that drives all computers and computing devices. It crunches the numbers and performs calculations that allow programs to run. 

Essentially, when the year 2038 strikes, computers still using 32-bit systems to store and process the date and time won’t be able to cope with the date and time change. Like the Y2K bug, the computers won’t be able to tell the difference between the year 2038 and 1970 – the year after which all current computer systems measure time. 

The basic problem is about a computer’s capacity to count the time in seconds past a certain date. As computers measure time in seconds from 1 January 1970, 03:14:07 UTC on 19 January 2038 is equal to 2,147,483,647 seconds after 1 January 1970. As 32-bit date and time systems can only count up to 2,147,483,647 separate positive values the system cannot continue counting the seconds past that time. 
To continue to count the seconds the values will start to be stored in negative counting up from -2,147,483,647 to zero. But most systems will not be able to cope with this change and will likely fail. 

A similar issue happened with YouTube, where the number of views of Psy’s Gangnam Style passed 2bn and broke the 2,147,483,647 limit of the 32-bit counter Google supposedly used. 

However, almost all modern processors in desktop computers are now made and sold as 64-bit systems running 64-bit software. Microsoft’s Windows has offered a 64-bit version since Windows XP Professional 64-bit released in 2005. 

Apple’s OS X desktop software has been exclusively 64-bit since the release of Mac OS X 10.7 “Lion” in 2011. 

What’s going to be done?. 

The reality of Y-2038 being a problem is that many 32-bit systems will naturally wear out or be replaced in the next 18 years. Those systems that might not will need changing ahead of time. 

Infrastructure is likely to be the biggest headache to fix – devices in power stations for instance – but planning the change far enough in advance should remove most big problems. 

No comments:

Post a Comment

@kshashi7211

"The Crucial Role of Failure on the Road to Success: Embracing Setbacks as Stepping Stones"

THE ONE WHO FALLS AND GETS UP IS STRONGER THAN THE ONE WHO NEVER TREID. DO NOT FEAR FAILURE BUT RATHER FEAR NOT TRYING AGAIN. “OUR GREATEST ...