The system clock is programmable and it is initialized in Minix so that it counts down to 0 and generates an interrupt 60 times per second.
This isn't particularly often, 1 tick every 16.666 msec.
The interrupt handler can increment counters in the process table for the appropriate process at each interrupt.
This is the basis for preemptive scheduling algorithms.