5

I'm currently learning about CPU scheduling and I'm curious about the specifics on Windows 10's scheduling. From what I know a round-robin scheduling is used along with differing levels of priority, but where can I find the specific time quantum numbers for each priority and the specific context switching time? Is this timing determined by the kernel for all machines or is it something that varies based on hardware? If it's based on hardware, can I find out what these values are on my own machine?

Vesque
  • 99
  • 2
  • 6
  • It's a lot more complex than just a prioritized round robin wiht one queue. Remember there's a lot of points at which a process might yield execution back to the OS, and a lot of reasons execution continues. Then there's a lot of SMP processors, load scenarios, and even more importantly, timing situations and different programs. – Marcus Müller Nov 08 '15 at 01:34
  • Does Microsoft provide any documentation how their OS handles all of this or is this something not available to the public? – Vesque Nov 08 '15 at 01:40
  • I just don't think there can be any document that describes what you expect to find -- Windows, as a non-realtime OS executing stuff on general purpose platforms *cannot make **any** guarantees regarding timing*, and how much time it takes to switch between processes is utterly non-deterministic and depends on hardware. – Marcus Müller Nov 08 '15 at 18:35

2 Answers2

7

I was surprised to not find some recent MSDN article as the top result in Google, but here is something from 1997: http://windowsitpro.com/systems-management/inside-windows-nt-scheduler-part-1

You'd be surprised how much stays the same, but it's safe to say there have been changes over the years.

Here is the MSDN reference on scheduling. It might be a good overview/starting point: https://msdn.microsoft.com/en-us/library/windows/desktop/ms685096(v=vs.85).aspx

modal_dialog
  • 733
  • 5
  • 12
0

Your best bet would probably be the book Windows Internals, which contains more information about the insides of Windows 10 than you’re likely to find anywhere else outside of Microsoft. Chapter 4 has a section on scheduling.

Brian Nixon
  • 9,398
  • 1
  • 18
  • 24