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...


  • Yes, the interrupt happens and the process context is saved, the next process' context is loaded and that second process is run. See this question. – bart1e Apr 12 at 17:47
  • @bart1e it's on a thread level, not process – macro_controller Apr 13 at 11:08
  • @macro_controller: Do you mean this is not the same thing for process and threads ? – Bob5421 Apr 13 at 13:32
  • @Bob5421I mean that the actual entities that are being scheduled are threads, not processes – macro_controller Apr 14 at 7:50

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.