Supongamos que la computadora tiene un solo núcleo: ¿qué significa exactamente que el proceso A se ejecute al 100% de la capacidad de la CPU en comparación con el 10% de la capacidad de la CPU?
Si la CPU fuera de 2.0 GHz, ¿significa eso en un intervalo de tiempo para el proceso A, que el procesador estaba ejecutando 2 mil millones de pasos por segundo (si está al 100% del límite), pero solo estaría ejecutando 200 millones de pasos (si el 10% del límite) )?
¿Qué causaría el escenario del 100% frente al escenario del 10%?
NOP
instrucciones, que todavía se clasificarían técnicamente como uso de la CPU (durante los segmentos de tiempo en los que el sistema operativo le dice a ese programa "Ok, es su turno de correr durante los siguientes X microsegundos", incluso si mi programa no está haciendo nada, todavía es corriendo - y eso es lo que describe el porcentaje de uso de la CPU.X
Instrucciones de funcionamiento x86. Cuántas instrucciones se realicen realmente depende de varias cosas diferentes. Si tiene una CPU x86 de 2 núcleos, significa que puede realizar 2 instrucciones distintas en el mismo período de tiempo. Esto significa que 2 procesos diferentes tienen la misma prioridad o que un solo proceso puede realizar una instrucción dos veces más rápido (requiere que escriba dicha operación de cierta manera para hacerlo).Respuestas:
El uso de la CPU es calculado por el sistema operativo proceso / programador de tareas . De hecho, si el uso de la CPU es del 10%, eso indica que la tarea se está ejecutando activamente durante el 10% de los períodos unitarios del programador de tareas; otros programas pueden ejecutarse en el 90% restante del tiempo de CPU, o el sistema operativo simplemente estará inactivo. Del mismo modo, si el total Uso de la CPU para todos programas es del 10%, lo que indica que no se están ejecutando programas en el sistema el 90% del tiempo.
Dado que ningún programa se ejecuta en un sistema operativo multitarea (como Windows o Linux), el uso de la CPU es una medida de qué porcentaje de los ciclos de la CPU están dedicados a ejecutar ese programa en particular. Esta es la razón por la que si tiene un bucle infinito en un programa, aunque no se está haciendo ningún "trabajo", el uso de la CPU todavía se acerca al 100% (ya que el programa está intentando usar todos los períodos de programación que le ofrece el sistema operativo para ejecutar algunos código).
Aunque los procesos son siempre ejecutándose, no usan el 100% de la CPU en la mayoría de los casos, ya que un proceso puede esperar a que ocurra un evento / interrupción en particular, o han indicado al sistema operativo que suspenda / suspenda su operación por un corto período de tiempo.
fuente