Without an event, no time passes. This may seem like an odd assertion. You may say, “I can see time passing all around me!” But how do you see it? Do you look at the ticking hands of a clock? In a mechanical clock, each tick is an event: when the tension on an escapement exceeds the friction between its prong and the gear, and the escapement knocks over to the other side with the familiar “tick.” That motion transfers to gears which torque the hands a bit further around.

A digital clock? An oscillating quartz crystal resonates at a frequency, causing a changing voltage. That voltage feeds a transistor, and when the voltage is high enough the transistor feeds current to a counter. Transistors inside the counter flip and flop, eventually charging some LCD segments and discharging others.

Events everywhere.

Then there are the photons that bounce off the clock into your eyeballs. They excite your retinal neurons which fire signals to your brain and trigger a whole new cascade of electrochemical activity.

Without all those events, you can’t even perceive the current time.

All clocks require physical interactions, whether mediated by springs and gears, quartz oscillators, or network packets (which arrive as self-propagating excitations of the electromagnetic field.)

What about computers? How do they understand time? Let’s start with the easy case of a physical machine like a laptop or desktop machine.

Inside the computer is an oscillator, just like in your digital clock. It may be a piezo-electric quartz oscillator, or it may be an “LC oscillator” (a capacitor and an inductor.) That oscillator emits a voltage to a clock circuit in your CPU which increments a counter. A program executing on that CPU can run an instruction like RDTSC to get that counter value. Your operating system gives the impression of multiple simultaneous programs by generating an interrupt every so often, which makes the CPU stop what it’s doing and go execute something else. Physical interactions all over the place! There’s the mechanical vibration of the crystal, or the back-and-forth of electric to magnetic field in the LC oscillator. In the CPU, the transistors flip on and off shuttling electrons around.

What about a virtual machine? It doesn’t have an oscillator, but the underlying host machine does. So the VM can send an I/O instruction to ask the “hypervisor” what it’s clock says. Or, after waking up the virtual machine, the hypervisor can just sent an I/O packet to the VM with the current time. More events: all the physical interaction of the physical host’s clock, plus the electron-shuffling of I/O to the VM.

If you were to somehow stop all those physical interactions, time would not pass.