Escalonamento de processos
Escalonamento preemptivo com prioridades dinâmicas:
– Unidade de escalonamento: thread
– Threads possuem prioridade base e prioridade corrente (alterada temporariamente)
– Prioridades entre 0 e 31 (31 = maior prioridade) • 0 - Thread ociosa • 1 a 15 - Níveis variáveis • 16 a 31 - Níveis de tempo-real
Win32 API mapeia prioridades de processos e threads para prioridades do NT.
Classes de prioridades de processos Win32:
| |Real Time |High |Normal |Idle |
|Time critical |31 |15 |15 |15 |
|Highest |26 |15 |10 |6 |
|Above normal |25 |14 |9 |5 |
|Normal |24 |13 |8 |4 |
|Below normal |23 |12 |7 |3 |
|Lowest |22 |11 |6 |2 |
|Idle |16 |1 |1 |1 |
Highest: threads que possuem tempo de execução mais curto.
Above normal: prioridade acima do normal.
Below normal: prioridade abaixo do normal.
Lowest: baixa prioridade.
Idle: processo que roda na porcentagem ociosa da CPU.
A elevação da prioridade de threads ao sair de estado de bloqueio ou espera,