There is a certain irony that the computer that sits on your desktop and may have cost as much as month’s salary will have a clock onboard that is less accurate than a cheap wristwatch bought at a petrol or gas station.
The problem is not that computers are in particularly made with cheap timing components but that any serious timekeeping on a PC can be achieved without expensive or advanced oscillators.
The onboard timing oscillators on most PCs are in fact just a back up to keep the computer clock synchronised when the PC is off or when network timing information is unavailable.
Despite these inadequate onboard clocks, timing on a network of PC’s can be achieved to within millisecond accuracy and a network that is synchronised to the global timescale UTC (Coordinated Universal Time) shouldn’t drift at all.
The reason this high level of accuracy and synchronicity can be achieved without expensive oscillators is that computers can use Network Timing Protocol (NTP) to find and maintain the exact time.
NTP is an algorithm that distributes a single source of time; this can be generated by the onboard clock of a PC – although this would see every machine on the network drift as the clock itself drifts – A far better solution is to use NTP to distribute a stable, accurate source of time, and most preferably for networks that conduct business across the internet, a source of UTC.
The simplest method of receiving UTC – which is kept true by a constellation of atomic clocks around the globe – is to use a dedicated NTP time server. NTP servers use either GPS satellite signals (Global Positioning System) or long wave radio broadcasts (usually transmitted by national physics laboratories like NPL or NIST).
Once received the NTP server distributes the timing source across the network and constantly checks each machine for drift (In essence the networked machine contacts the server as a client and the information is exchanged via TCP/IP.
This makes the onboard clocks of the computers themselves obsolete, although when the machines are initially booted up, or if there has been a delay in contacting the NTP server (if it is down or there is a temporary fault), the onboard clock is used to maintain time until full synchronisation is again achievable.