![](/file/18315/Y2K_Resource_Nov99.iso/webcon~1/usa/year2k/images/spacer.gif)
Microsoft Year 2000 Readiness Disclosure
& Resource Center |
![](/file/18315/Y2K_Resource_Nov99.iso/webcon~1/usa/year2k/images/spacer.gif) |
![](/file/18315/Y2K_Resource_Nov99.iso/webcon~1/usa/year2k/images/spacer.gif) |
![](/file/18315/Y2K_Resource_Nov99.iso/webcon~1/usa/year2k/images/spacer.gif) |
Windows Operating System Interactions
with BIOS and Real Time Clock |
![](/file/18315/Y2K_Resource_Nov99.iso/webcon~1/usa/year2k/images/spacer.gif) | 4. RTC/BIOS
and the rollover to Year 2000
Before
IBM made the Real Time Clock (RTC) chip standard equipment on its PC
AT in 1984, users were prompted to enter the date manually every
time they turned on their computers. PCs since then have essentially
duplicated the RTC chip, which may or may not have Year 2000
functionality.
The RTC chip is battery powered to ensure it can keep time even
when the PC is turned off. The chip itself updates time, day, month,
and 2-digit year. It typically contains seven registers that store
time and date values. Six of the registers are updated
automatically. Each one of them stores a different value: seconds,
minutes, hours, days, months, and years. The year register stores
the last two digits û "99" in 1999 or "00" in 2000. A seventh
oneùcalled the century registerùstores the first two digits of the
4-digit year. The century register reads either "19" in 1999 or "20"
in 2000 and is not updated automatically. It will change only if
updated by either the BIOS or the operating system.
Many hardware manufacturers do not support direct access to the
RTC. This is because there is no standard location for the century
register in RTCs. For example, the RTC chip in most PS/2 computers
stores the century value in a different location than the RTC chip
found in other types of computers. Some Year 2000 testing
applications do access the RTC directly and have detected anomalies.
However, Microsoft is not aware of any non-test applications that
directly access the RTC. In general, applications should always use
defined application program interfaces (APIs) or BIOS interfaces to
obtain date information.
The RTC and BIOS functionally support each other so it is
advisable to view their Year 2000 readiness as a combined unit. Most
RTC rollover issues are remedied by the BIOS, while still others are
remedied by the operating system.
In older PCs, the BIOS software may not automatically roll over
the century. In that case, the century register in the RTC will
remain at "19" when the date should roll from 1999 to 2000. Some PCs
have BIOS that do not recognize the years between 1980 û 1993 or
2000 û 2093 as valid dates so the RTC century register will not
rollover to 2000. These BIOSes also will change the date to some
other non-current date. In some other PCs, BIOS Setup may not accept
dates after 12/31/1999.
The computer startup program and POST sequences are summarized
below to enable you to better understand how date errors are passed
to the operating system.
When the system is turned on, it "boots-up." The boot program is
stored permanently in a set of read-only memory (ROM) chips. A
signal triggers the CPU to initialize its registers. The signal sets
the CPU's program counter to the address of the instruction that
starts the BIOS boot program that in turn invokes a series of system
checks, known as Power On Self Tests (POST).
During POST the CPU sends signals to system components to ensure
they are all functioning properly. If they are not, error messages
(or beeps) indicate which components need attention.
POST validates the system's RTC for consistency and notifies you
when something is obviously wrong. For example, if the battery that
powers the clock has failed, POST notifies you and resets the date
values.
Next POST initializes the display adapter. Tests are then run to
determine the amount of memory on the system, to ensure that the
random-access memory (RAM) chips are functioning properly, to ensure
that the keyboard is attached properly, and to determine if any keys
have been pressed.
Next POST detects which drives are available and records any
changes to the basic system configuration. POST then identifies the
BIOS code of any additional components and incorporates them into
the system's BIOS program.
The next step in the boot process is loading the operating system
from disk. Note that the RTC and BIOS are invoked before
the operating system is loaded. This is a key factor in some
rollover-error cases.
The next section describes three common RTC/BIOS error cases and
how date errors would be passed on to the operating system.
|