Desde os dias do Windows NT, aplicativos de prioridades mais altas têm um quantum maior, por exemplo, para encadeamentos em primeiro plano.
32 níveis de prioridade são definidos, de 0 a 31, com prioridades de 0 a 15 sendo prioridades "normais" e prioridades de 16 a 31 sendo prioridades temporárias brandas, exigindo privilégios para designar. 0 é reservado para o sistema operacional. Os usuários podem selecionar 5 dessas prioridades para atribuir a um aplicativo em execução a partir do aplicativo Gerenciador de Tarefas ou por meio de APIs de gerenciamento de encadeamentos. O kernel pode alterar o nível de prioridade de um encadeamento dependendo de seu uso de I / O e CPU e se é interativo (ou seja, aceita e responde a dados de humanos), aumentando a prioridade de processos interativos e de I / O e diminuindo o de Processos vinculados à CPU, para aumentar a capacidade de resposta de aplicativos interativos
No Vista, o agendador faz uso de registros de contador de ciclos em processadores modernos, e é capaz de estimar quantos ciclos um thread usa por clock. Dessa forma, o agendador pode dividir o tempo de CPU de maneira muito mais justa. Um thread pode ser executado por outro intervalo de tempo após ser interrompido, enquanto antes do Vista o planejador assumia que um thread interrompido era executado durante todo o intervalo de tempo. (Isso indiretamente aumenta a prioridade de um thread muito interrompido.) O Vista também usa um agendador de prioridade para a fila de E / S, para que os desfragmentadores de disco e outros programas não interfiram nas operações de primeiro plano.
Fontes: wikipedia Scheduling , Melhorias no Kernel do Vista .