Programming the 8253/8254 PIT at 100Hz is literally how the Linux kernel's early boot timer worked before the APIC timer and HPET took over, and it remains the simplest way any teaching kernel like xv6 implements preemptive multitasking. Get the frequency divisor calculation wrong and your entire scheduler's sense of elapsed time drifts, silently breaking any timeout logic built on top of it.