|
BIOS
When the computer is switched on, during the boot up sequence, the BIOS reads the RTC, and sets the date and time in the operating system. Thereafter, neither the operating system nor the BIOS consult the RTC about the time and date. The BIOS drives the date and time in the operating system through a counter which is driven at 18.2 times per second, and this forms what is known as the system clock. Because the system clock only looks at the RTC at boot up, the two clocks run independently as long as the PC is running - and in fact if the computer is switched on for a long time, the two clocks can drift apart. The problem with year 2000 compliance comes from the fact that the RTC outputs only two digits for the year - it does not therefore indicate to the BIOS what the century is. The BIOS has to work this out for itself, or obtain the information from elsewhere. In the past, it was quite acceptable to assume that the date given by the RTC was 19**, however as from midnight on 1999-12-31, the RTC will output a year date that looks like 00, and the BIOS might assume this to be 1900. Some PC`s already have the capability to advise the BIOS what the century is - two techniques are used :-
The century data that is stored in byte 50 of the CMOS RAM has to be entered by one of the following methods :-
------------------------------ If method 4 works in any particular PC, then that PC is year 2000 compliant. If the PC is powered on through midnight on 1999-12-31, the BIOS will immediately detect that the two digit year data from the RTC has rolled over from 99 to 00, apply the pivot technique, and update the CMOS RAM. ------------------------------ If method 3 works in any particular PC, then the PC is not strictly year 2000 compliant, as the PC has to be rebooted before it knows that the year is 2000. However if the operating system above the BIOS has its own clock that is compliant, most applications will not be aware that the BIOS has not updated byte 50, and will work normally after midnight on 1999-12-31. During the next reboot, the BIOS will run the pivoting technique, update the CMOS RAM byte 50, and pass the correct date up to the operating system. ------------------------------ If the BIOS in a particular PC does not have a pivoting technique within it, the only way that the century data in byte 50 can be updated is by manually typing in the correct date, either by entering CMOS set up during the boot up sequence, or by using the appropriate routines in the operating systems. Note however that DOS versions before 3.2 do not update the CMOS RAM contents, it has to be done through CMOS set up. PC`s in this category can be described as compatible with the year 2000 - they have to be manually told that the century has changed, but thereafter they remember it. It is probable that PC`s with this kind of BIOS can be upgraded by the application of a software fix which adds a pivot technique routine to the BIOS. This can enable the PC to go from the compatible category to the compliant category. However not all BIOS respond to this. ------------------------------ Finally, note that the possibility exists of BIOS which is so badly designed that it always puts the number 19 into byte 50, even if the number 20 is entered manually. A PC with such a BIOS will always indicate the year as 19**, and the operating system clock will show a spurious date. The only cure for this is to replace the BIOS.
© 1999 Ron Turner Return to the Year 2000 index page
|
|