1. Why do We Need a Precise Clock?
If our computer never connects to other computers (or other devices that use a clock), the precision of the clock is not critical itself, it depends on the need of the user. However, programs that some way use the net are dependent on a precise date and time. Some examples, when you may need precise clock:
Softwares that deal with transactions
Commercial applications (e.g. eBay)
Mail and messaging-related client and servers
Websites that use cookies
Distributed web applications
Web services
Distributed component-based applications as J2EE, .NET, etc
Advanced modern and paralel filesystems, as AFS, DFS, GFS, GPFS, etc
And of course, to use the computer to adjust our wristwatch clock.
1.1. On What Factors Does the Hardware-Clock Depend?
Here we talk a little about the hardware-clock precision.
In PCs we find quartz-oscillators maintaining the hardware clock. The frequency of the oscillator is divided, and at the end we get a counter stepping once in one second (in reality it is more complicated, but now it's enough for us). The clock-oscillator runs even if the computer is switched off, so after starting the computer (and starting Linux) the hardware clock can give the values of the actual time. The stability of this clock is mostly dependent on the temperature of its surroundings, but it is also dependent on the air-pressure and the stability of the power supply voltage. The hardware clock is inaccurate in short term, however in the long term it shows a certain difference from the exact time. As we continously can compare the frequency of our hardware clock and an exact clock, we can calculate the frequency of the hardware clock and so to create the exact time. If this exact clock is inside your LAN (local area network), the accuracy of your Linux machine clock is within 0.01 sec. If you use the internet for this purpose, the accuracy of your clock will be within 0.2 sec regarding to the exact time.