I want to understand how multi process scheduler works on x86 CPU with Linux or Windows kernels.
I have read there is a kind of "timer" inside CPU. This timer gives "time slices" to each process.
What i want to understand is what really happens when a time slice is finished. Does an interrupt fire ? or something else ? I suppose kernel code is runned between 2 slices but how...