Nothing with interrupt handlers is fully deterministic. Deterministic
timing means exact to the clock pulse, the same every time.
Real-time means guaranteed response within some specified time limit.
LinuxCNC runs on a real-time version of Linux. The response time
depends on the speed of the hardware, but remember the hardware is
1000 times faster than a microcontroller, so a few dozen us is typical.
That's not much more than the jitter caused by the timer0 interrupt on
an Arduino.