void Pit::trigger() { time.addNanoseconds(timerInterval); // Increase system time // Don't use PIT for scheduling when the APIC timer is enabled if (Apic::isEnabled()) { return; } if (time.toMilliseconds() % yieldInterval == 0) { System::getService().yield(); // Trigger preemption } }