Click to return to home page
Richard Lowe Jr Home

Does Anyone Know What Time It Is?

Sometimes it seems like a cheap ten dollar Power Puff Girls watch does a better job of keeping accurate time than the hundred thousand dollar server that runs a fair portion of a billion dollar company. In fact, I know it sounds strange, but I'm beginning to think that any five year old can keep better time than your average personal computer system. 

So what's going on here? Why is it so hard for a computer to keep an accurate time?

Well, computers generally have two clocks - a hardware clock and a software clock. The hardware clock is always ticking and is powered by a battery when the computer is turned off. The software clock is started when the computer boots up and stopped when it shuts down.

The software clock keeps a count of the number of milliseconds (thousandths of a second) that have passed. To keep track of this, every 54.936 milliseconds (give or take) the clock interrupts the CPU and this clock counter is updated. One of the problems with this timekeeping scheme rears it's ugly head at this point: it's not always exactly 54.936 milliseconds. Why not? Because something else may be using the CPU for a hundredth of a millisecond. Thus, the software will count 54.936 but it might actually have been 54.937. This means that over a period of time the internal software clock gains or loses a few seconds or even minutes.

The hardware clocks are even worse. Each computer has one hardware clock. It's job is simply to keep the time, counting each second (not millisecond). This time is only referenced once - when the computer is turned on and the operating system starts up. These clocks are incredibly cheap and extremely poor at maintaining accuracy. It's not uncommon for the hardware clock to lose 10 to 15 seconds per day. Even the cheapest wristwatches keep better time than this.

Fortunately there is a solution to this problem. You see, there are several organizations on the planet which maintain extraordinarily accurate time. The clocks in these places keep time accurately to the nearest millionth of a second - and they do not lose or gain any time at all. They are designed to always be precisely accurate.

To keep an accurate time all you need to do is subscribe to a time service. There are many freeware and shareware products available which will perform this task for you automatically, thus ensuring that your computer time is always reasonably accurate (within a second or so).

I've used several different programs to perform this function before settling on a shareware product called AtomTime98. This tool costs a mere $10, is simple to install and requires no maintenance. Just run the simple installation and forget it. Nothing could be simpler. The program will connect over any kind of internet connection, including dial-up, DSL, cable or whatever you've got. 

But why is keeping an accurate time so important? To most of us, a few seconds here or there is no big deal. It's no disaster if our clock is off by five or ten minutes, and I've even lived with mine being wrong by thirty minutes at a time. What's the problem?

Personally, I just like looking down at the familiar time stamp in the lower right hand corner and knowing it is precisely correct. Also, I find it comforting to know when my reminder dings that I have five minutes to get to the meeting, I really do have five minutes.

For the server running a multi-billion dollar business (my day job is to manage those computers) it's much more important. Accounting receipts must have the exact time and it is legally important that this be correct. In addition, transactions are arriving from many different machines at all times and it is critical to know that transaction A happened before transaction B. Otherwise, everything gets messed up.

It's really up to you, but you do have the power to have the perfect time or the approximate time. You decide.


Unless otherwise noted, all photos and text is Copyright © Richard G Lowe, Jr.