The following Y2K material has been kept available by MITRE for historical purposes only and has not been updated unless noted.
|The Basic Input/Output System (BIOS)|
The BIOS has several important functions but we will only talk about one of them here.
The concept of a BIOS came about when people started trying to make computers more of a commodity item versus the individual custom manufactured item which it had been for many decades. One step towards standardized computers was making the software environment consistent from one computer to the next while still leaving a way for dealing with the differences between the physical configurations of individual machines. These differences could be how much memory it had, the size and address of the disk drives, what communications cards were in the machine, and so on. The BIOS was the segmenting out of this tailoring information into a standard and separate set of configuration information versus the custom configuration information that had to be in each computers operating system. The concept of BIOS started with the introduction of the CP/M operating system for the IMSAI clone of the Altair 8800 computer back in 1977 by Gary Kildall. Until then, every computer model ended up with a tailored version of the operating system to reflect the physical attributes for each model of computer. Shortly, the concept of the BIOS was adopted by Microsoft and computer manufacturers started putting the start-up part of the BIOS in read-only-memory (ROM).
It was almost a decade later (1984), with the introduction of the IBM AT and its battery-powered RTC and CMOS memory, when the BIOS evolved to use the CMOS memory as a storage place for the configuration information that it managed. The 1984 IBM BIOS functionality has been widely reverse-engineered (cloned) and is the basis of all PC BIOS today even though the BIOS continues to evolve as we add security features, power savings capabilities, and other options and configurations to our computers. The IBM AT's addition of a RTC caused one such enhancement in the role of the BIOS. This new enhancement is that the BIOSes became responsible for detecting and dealing with the movement from the end of year 1999 to the start of year 2000. The BIOS was given the capability and instructions for sensing and reacting to this condition and thus setting the CMOS memory century designation to 20 versus its soon to be "historic" value of 19. Unfortunately, almost all versions of BIOS, independent of manufacturer, do not do this job correctly. It was not until at least another decade (1996) that this problem was noticed and fixed. Most companies are providing updates or fixes for their earlier BIOSes . However, due to the marketplace of personal computer components and the way personal computer manufacturing has created many computer assembly and customization companies, BIOS chips with the incorrect instructions can still show up in "new" computers.
For users of Windows NT Versions 3.51 and 4.0, a failure of the BIOS to correctly set the CMOS memory century information can be detected. Microsoft provides some fixes in previous service packs, but is still working on making available patches for all versions to NT to perform both BIOS and RTC fixes. If the RTC shows a two-digit year less than 20 while the CMOS century data contains 19, the NT operating system will correct the CMOS century information.
Since the only way to update the century information has been to let the BIOS do this during power-up, many people have been worried about systems that are up and operational during the transition. Dell Computer and IBM have both introduced Year 2000 RTC Device Drivers which will update the century information for systems that are running during the 1999/2000 transition. Please read the discussion of these Year 2000 RTC Device Drivers on the Real-Time Clock and CMOS page.
|PC Internal Clock and BIOS||Desktop PC Resolution||Clock/BIOS Flowchart||Appropriate BIOS Upgrade||Test Your PC System Clock||Testing Leap Year|
|Other Dates of Concern||FlashBIOS Upgrades||Testing Utilities & Patches||Vendor Patches & SW Libraries||Manual Clock Setting||PC Suppliers Compliance Lists|
Information is provided by the MITRE Y2K Team
Last modified: Thursday, 14-Feb-2008 09:21:05 EST