El tiempo de CPU se asigna en segmentos de tiempo discretos (ticks). Para un cierto número de segmentos de tiempo, la CPU está ocupada, otras veces no lo está (lo que está representado por el proceso inactivo). En la imagen a continuación, la CPU está ocupada por 6 de los 10 segmentos de CPU. 6/10 = .60 = 60% del tiempo ocupado (y, por lo tanto, habría un 40% de tiempo inactivo).
Un porcentaje se define como "un número o tasa que se expresa como un cierto número de partes de algo dividido en 100 partes". Entonces, en este caso, esas partes son segmentos de tiempo discretos y algo son segmentos de tiempo ocupado frente a segmentos de tiempo inactivo: la tasa de segmentos de tiempo ocupado a inactivo.
Dado que las CPU funcionan en GHz (miles de millones de ciclos por segundo). El sistema operativo corta ese tiempo en unidades más pequeñas llamadas garrapatas. No son realmente 1/10 de segundo. La tasa de tics en Windows es de 10 millones de tics en un segundo y en Linux es sysconf(_SC_CLK_TCK)
(generalmente 100 tics por segundo).
En algo así top
, los ciclos de CPU ocupados se dividen en porcentajes de cosas como el tiempo del usuario y el tiempo del sistema. En top
Linux y perfmon en Windows, a menudo obtendrá una pantalla que supera el 100%, eso es porque el total es 100% * the_number_of_cpu_cores.
En un sistema operativo, es tarea del planificador asignar estos preciosos sectores a los procesos, por lo que el planificador es el que informa esto.