Operating system role
The operating system is the ultimate authority in resolving hardware problems associated with the change of centuries. It is the operating system in most cases that tells applications the current time and date. The latest versions of operating systems correctly handle the change of dates from 12/31/99 to 01/01/2000. And this applies not only to operating systems that receive the date from the BIOS (for example, Windows 98, Windows NT 4.0), but also to operating systems that receive the date directly from RTC (for example, Unix, Linux). Of course, this may not apply to their earlier versions. However, for most operating systems, there are “patches” that adjust the readiness of the operating system (or its individual components) for centuries to change. As for the numerous applications used in everyday life (accounting programs, databases, etc.), the question of compatibility with 2000 in each case requires a separate check.
The third time is “unfortunately …”. Unfortunately, the hardware problems do not end after January 1, 2000. There is a danger that some of the watches in their long chain (RTC, BIOS, OS, applications) will incorrectly determine the leap year 2000. Then after February 28 (and this will happen very soon) one day will be lost. A year is considered a leap year if it is divisible by 4 without a remainder, but not divisible by a remainder by 100. However, if it is divided without a remainder by 400, then this is a leap year. Thus, the year 2000 is such a leap year, which happens once every 400 years. There are separate applications that incorrectly determine that 2000 is a leap year. However, very rarely, the chaos in counting days will come about through the fault of hardware. Real-time clocks that are not Ready 2000, as we have already seen, do not contain a register of centuries. Accordingly, in them, as a rule, the abbreviated algorithm is applied: if the serial number of the year is divided by 4 without a remainder, then the year is considered a leap year. For such an algorithm, the year 2000 will be correctly defined as a leap year. Nevertheless, it is not worth it to deceive yourself. The author had to test 386SX, whose BIOS determined that 2000 is not a leap year.
There are other problems that will occur after January 1. In particular, if the BIOS does not take centuries into account and always returns a value of 19, then “Ready 2000” Windows 98 will adjust the date every day, but January 1, 2001 will not recognize the value 01 as a problem in 2000 and will reset the clock to the base year 1980 . It does not recognize the values returned by the “advanced” BIOS, lying in the range of valid, according to Windows, dates (since 1980). The next very serious blow will come in 2080. Starting from this year, both 1980 and 2080 will be considered valid, and there simply are no methods to correct the error if the current year value is not saved in the “yyyy” format in RTC. It seems to be very far away. But we don’t know how long motherboard manufacturers will equip them with relict RTCs.