Se você quiser saber os detalhes, o código-fonte é o lugar certo.
Como princípio geral, um processo vinculado a computação usará todo o intervalo de tempo com mais freqüência do que um processo vinculado a E / S. Os processos que renderam recentemente sem usar toda a sua alocação são considerados mais propensos a fazer o mesmo no futuro próximo, e podem ser agendados de acordo.
É importante lembrar que os processos podem e mudam o comportamento enquanto são executados; quanto tempo para decair a memória de fatias de tempo passadas é um dos importantes ajustes da maioria dos agendadores.
Agendadores reais precisam levar em conta mais do que apenas o uso histórico da fatia de tempo: o valor 'legal' e os bloqueios que bloqueiam outros processos são apenas dois exemplos de outras informações que podem ser usadas.