
Microsoft Year 2000 Readiness Disclosure
& Resource Center |
 |
 |
 |
Windows Operating System Interactions
with BIOS and Real Time Clock |
 | 7. Windows
NT Overview
When the
Windows NT« operating system is booted, it directly accesses the
RTC's memory and uses its date and time values to set the system
date and time. When Windows NT reads dates between 1900 and 1919 in
the RTC, whether during initialization or the time-daemon compare
routine, it adds 100 to the year. In effect, it maps the time period
forward to 2000 û 2019. Windows NT does not add 100 to dates between
1920 and 1999.
Timer interrupts maintain the system time while Windows NT is
running. A "time daemon" in Windows NT runs approximately once each
hour after the operating system is started, comparing the operating
system time with the time in the RTC. If the two times are more than
one minute apart, Windows NT updates the operating system time and
date to be consistent with the RTC. The one-hour interval between
time-daemon runs is hard-coded and cannot be modified.
If a networked machine's BIOS is not Year-2000 ready, the time
and date can be set with "net time" in autoexec.bat. Then the next
time the time daemon runs, it will see the set time and update the
PC's operating system time and the RTC. Or a time synchronizing
service can be installed on the PC. When the time service is
installed the time daemon is turned off and it is the time service's
responsibility to keep the system clock correct. The Windows NT 4.0
Resource Kit comes with a time synchronizing service for the Windows
NT operating system. An updated version of this Time Service is
available by reading the Windows
NT 4.0 Resource Kit compliance document
The Windows NT operating system prohibits applications from
directly accessing the RTC/BIOS combination. Application program
interfaces (APIs) obtain date information from the Windows NT
operating system instead of from the BIOS.
The Windows NT operating system always assumes the RTC is using
Standard Time. The other operating system installed on a dual-boot
machine may not be compatible with the Windows« NT method of
interpreting the RTC during Daylight Savings Time. If a machine is
first booted to an operating system that updates the RTC to Daylight
Savings Time then is booted to Windows NT, the system time will be
incorrect. Therefore, Microsoft suggests that users of dual-boot
machines start Windows NT« first when they turn on the machine for
the first time after December 31, 1999.
How Windows NT handles the error cases
In Case 1, the Windows« NT operating system maintains system time
correctly. If Windows NT boots up with the years 1900 û 1919, it
will map them to 2000 û 2019.
In Case 2, the operating system assumes that dates from 1920 û
1999 are valid. For example, if the BIOS sets the year 2000 to 1995,
Windows NT will use 1995 for the operating system date.
In Case 3, BIOS Setup does not accept 2000 as a valid date. To
work around this after 12/31/1999, start BIOS Setup and enter a date
in the past that is acceptable to the BIOS and then quit BIOS
Setup WITH SAVING. Start Windows NT, and at the command
prompts, enter the current date.
|