Plea to Microsoft to allow RTC=UTC

Antoine Leca AntoineLeca at multimania.com
Tue Jul 3 10:02:12 UTC 2001


[ Sorry for the mail I just send, I hitted the wrong key. ]

Hi Markus,

Markus Kuhn ha escrit:
> 
> I have managed to get someone inside Microsoft interested in the
> problems of the old MS-DOS convention of keeping the RTC in some local
> time that is not further specified in the CMOS RAM data. I was asked to
> write up a case to convince Microsoft management to dedicate resources
> for fixing this and enabling the Windows RTC driver to maintain the
> battery clock in Universal Time instead of local time.
> 
> I just did so on
> 
>   http://www.cl.cam.ac.uk/~mgk25/mswish/ut-rtc.html
> 
> and I would like to invite all computer time gurus out there to review
> this brief essay before I send it off to Redmond.

Several (minor) points:

- the original DOS did not know anything about the RTC. Moreover, the RTC
clock did appear only with the AT in 1984. So it is only with DOS 3.0 that
DOS does know how to synchronize its internal clock with the RTC; before
that, it asked the user to synchronize it itself. You can get an idea of
this if you remove the file named AUTOEXEC.BAT; any version of DOS (until
6.x; this does not hold with the MS-DOS 7.x under Windows 9x) will ask you
for time and date, even if it is set up correctly by the RTC! (this
behaviour solves the DST changeover problem in the USA, BTW)

- The phrase about Windows is a bit misleading. Here is a more detailled
picture, from where you can then perhaps write a better description.

Originally Windows (1.0x, 2.x, 3.x) did not know anything about timezones.

The support for this concept only appeared with Windows NT 3.1 in 1992,
and the necessary informations (the equivalent of tzdata) were stored in
the (in)famous registry, around about the same places as they still are
presently. Internally, I believe all times are kept as UTC quantities.
However, in order to preserve hardware compatibility and also to allow a
given computer to boot either on NT and on DOS (which was a very important
"feature" then, even if it appears completely dumb today), they choose to
left to RTC in local time, and to apply the correction at boot time.
This leaded, and still leads, to the subtle bugs during the DST changeover,
if the RTC is changed under DOS, because then NT will silently and
unnecessarily applies the correction the next time the OS is booted.

Since this TZ support is tied to the Win32 API rather than NT kernel,
Windows 9x does also support timezones, and it also runs the RTC in
local time; in fact, since Windows 95 and 98 really starts using plain
MS-DOS, this is really mandatory! This come less needed with Win Me,
and anyway this product line is going to die, so I understand your
request will really target only Xp and successors. Which are sooooo
far away from the DOS world that your suggestion indeed does have
a lot of sense.

Congratulations for this initiative, 
Antoine



More information about the tz mailing list