O tempo da CPU é alocado em intervalos de tempo discretos (ticks). Por um certo número de intervalos de tempo, a CPU está ocupada, outras vezes não (o que é representado pelo processo inativo). Na figura abaixo, a CPU está ocupada por 6 das 10 fatias da CPU. 6/10 = 0,60 = 60% do tempo ocupado (e, portanto, haveria 40% do tempo ocioso).
Uma porcentagem é definida como "um número ou taxa que é expressa como um certo número de partes de algo dividido em 100 partes". Portanto, nesse caso, essas partes são fatias de tempo discretas e o algo é fatias de tempo ocupado versus fatias de tempo ocioso - a taxa de fatias de tempo ocupado para ocioso.
Como as CPUs operam em GHz (bilhões de ciclos por segundo). O sistema operacional divide esse tempo em unidades menores chamadas ticks. Eles não são realmente 1/10 de segundo. A taxa de ticks no Windows é de 10 milhões de ticks em um segundo e no Linux é sysconf(_SC_CLK_TCK)
(geralmente 100 ticks por segundo).
Em algo como top
, os ciclos ocupados da CPU são divididos em porcentagens de coisas como tempo do usuário e tempo do sistema. No top
Linux e perfmon no Windows, você geralmente obtém uma exibição que ultrapassa 100%, porque o total é 100% * o número_de_cores_cpu.
Em um sistema operacional, é tarefa do agendador alocar essas fatias preciosas aos processos; portanto, o agendador é o que informa isso.