Keeping Time in Distributed Systems
We all know that keeping a server clock "on time" is an ongoing problem that computer scientists have wrestled with for decades. Nowadays, most servers keep time using a quartz crystal oscillator that's powered by a CMOS battery. The crystal vibrates at a very precise frequency and that's how it maintains accuracy (cool right). Events like rebooting and power loss can cause the server to abandon its primary clock source and fall back to an OS-level timekeeping system.