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?
Windows implements a priority-driven, preemptive scheduling system—the highest-priority runnable (ready) thread always runs, with the caveat that the thread chosen to run might be limited by the processors on which the thread is allowed to run, a phenomenon called processor affinity.
Definition. The process scheduling is the activity of the process manager that handles the removal of the running process from the CPU and the selection of another process on the basis of a particular strategy. Process scheduling is an essential part of a Multiprogramming operating systems.
Task Manager can be opened in a number of ways, but the simplest is to select Ctrl+Alt+Delete, and then select Task Manager. In Windows, first click More details to expand the information displayed. From the Processes tab, select Details to see the process ID listed in the PID column. Click on any column name to sort.
Windows uses a round-robin technique with a multi-level feedback queue for priority scheduling ever since NT, Though in Vista there were some smart heuristic improvements to ensure that some processes, such as the disk defragmenter, are at a lower priority in order to not interfer with foreground processes.
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
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With