This is a discussion on Re: Hardware clock fails to update. - NTP ; >>>The hardware clock, for historical reasons, keeps a local time value >>>-- i.e. you have to interpret it in the context of a particular time >>>zone and it won't tell you which one -- you have to know >>>independently. > ...
>>>The hardware clock, for historical reasons, keeps a local time value
>>>-- i.e. you have to interpret it in the context of a particular time
>>>zone and it won't tell you which one -- you have to know
>I think that's a Microsoft "feature". I think I've seen comments
>about some other not very common OS doing it that way too.
I'm talking about how the hardware clock works, so it's not a feature
of any OS. But you might say it's related to an OS: DOS. The reason
the hardware clock was designed that way was to relieve the OS of the
burden of computing the time in the format it needed. Computers for
which this clock was originally designed weren't very powerful.
So whereas today (and also on the big computers then), one would
design a hardware clock as merely a single binary counter (probably
with some bit position flipping once a second), what the ISA clock has
is separate counters for year, month, day, hour, minute, and second.
And in its most common configuration, those counters are BCD, not pure
binary. You would set those counters to local time and then you could
read directly from the hardware the digits you need to display for the
It obviously isn't ideal for a computer that deals with people in
multiple time zones, and is a pain wrt DST, but it was OK for the
computers it was designed for. Remember that in the very earliest
computers of this genre, the user typed in the time at every power-up
and they weren't networked.
Windows obviously was designed around this hardware, and I guess even
today it keeps the hardware clock in local time. Linux doesn't care
what timezone the clock is in (and it has nothing to do with what
timezones the users use), but gets in trouble when different parts of
the system disagree on which timezone the hardware clock uses.
Naturally, Linux people prefer to set it to the timezone of UTC. But
doing that doesn't mean that when you run Linux the hardware clock
doesn't keep a local time value -- it just keeps that particular local
Bryan Henderson Phone 408-621-2000
San Jose, California
questions mailing list