One of my main gripes about Microsoft Windows is one that has been around for years as far as I am aware; which is that the OS seems to ‘permit’ services, processes etc to consume 100% of the CPU.
I mean, that’s what you want, right? Especially if the computer is idle, but when a user starts interacting, I’d prefer it if Windows then decides to ‘cap’ the CPU usage of background processes and services, leaving a dynamic allocation of CPU time purely to service the user’s interactions and the processes they kick off. Therefore when I move my mouse, Windows drops the process priority of other processes and dedicates some to my mouse movement, to Explorer to load windows and parse folders and files. If I then launch Google Chrome, if the memory and CPU usage can’t be used with the bucket allocated to the user, then it will resize that bucket, giving the user more and dropping the priority of background processes even further.
Then, as Windows monitors user interactivity and perhaps user pauses what they’re doing for a minute or so, it dynamically adjusts the limits again and allows processes (user or background) to consume as much as they need, until; again user interaction is detected.
The main idea is to prevent a user’s experience from being dramatically slowed … that should never happen.