In a normal Linux system, there is a good value, and lower values โโhave typical quanta of 800 ฮผs, and higher values โโhave 5 ms quanta.
Linux uses heuristics to determine if a process is interactive or not. You better read this note:
https://www.cs.columbia.edu/~smb/classes/s06-4118/l13.pdf
There are several data structures related to the scheduler, such as linux keep track according to the number of interactive processes waiting on the IO binding, etc. etc.
On Windows, more than proactive multitasking, applications support the kernel through a GetMessage () API call [in the case of Windows GUI programs] .Where you call GetMessage (), this process will schedule backward when there is a message waiting to be processed in the system queue.
source share