¿Cuál es el propósito del proceso inactivo del procesador de la computadora?

No funciona de esa manera.

Las CPU son dispositivos sincrónicos, simplemente siguen zumbando con cada tic del reloj, ejecutando cualquier instrucción que apunte el puntero de instrucción. A veces (a menudo la mayor parte del tiempo) esa instrucción es un NOP, es decir, la máquina está “inactiva”.

Excepto que realmente no está inactivo: a veces está esperando una interrupción de E / S (una pulsación de tecla, por ejemplo), a veces está esperando que una lectura del disco devuelva datos, a veces simplemente no sucede nada.

Un cajero está sentado en una caja registradora, esperando al próximo cliente (s), no cierra la caja registradora, o hace una pausa, espera que llegue el próximo cliente.

Dicho esto, las computadoras a veces se apagan, en varios niveles, cuando no ha pasado nada por un tiempo, por ejemplo, las computadoras portátiles se suspenden (los servidores generalmente no lo hacen).

Y las CPU modernas TIENEN varios modos de ahorro de energía que hacen cosas como reducir las frecuencias de reloj y / o apagar los relojes cuando la CPU está inactiva. La cuestión es que, por lo general, cuanto más se apagan las cosas, más tiempo se tarda en volver a poner las cosas en marcha, por lo que no tiene sentido acelerar entre pulsaciones de teclas. (Escribir en el teclado no consume muchos ciclos de CPU, la máquina puede estar inactiva en un 98%, pero algo sucede cada 10 ms, y tiene que reaccionar.

Inactiva el hardware computacional en la CPU para reducir el uso de energía. La CPU puede dejar de funcionar en vacío muy rápidamente, por lo que no observará ninguna diferencia de rendimiento, pero la cantidad de energía que consume la CPU es mucho menor cuando está inactiva que cuando no está inactiva.

Hace mucho tiempo, las CPU no estaban realmente inactivas como lo están hoy. Simplemente corrían a toda potencia todo el tiempo. Cuando tienes una computadora de escritorio y una CPU que usa 10 vatios, esto no fue difícil de manejar. Pero con la llegada de las computadoras portátiles y las CPU de mayor potencia en general, se volvió beneficioso hacer todo lo posible para minimizar el consumo de energía de la CPU cuando no se necesita toda la potencia de la CPU.

El Pentium original que funcionaba a 90Mhz tenía un consumo de energía de 9 vatios. Compárese con un Core i5 de generación actual, que usa aproximadamente 90 vatios; si usara toda la potencia todo el tiempo, sería un caso bastante candente. En términos de CPU para computadoras portátiles, las computadoras portátiles típicas usan CPU que pueden consumir aproximadamente 10-20 vatios como máximo. Si siempre usaran tanta energía, sus baterías no podrían durar más de 1.5 a 3 horas.

La computadora debe estar funcionando todo el tiempo. Básicamente es un circuito con electricidad que fluye a través de él. El proceso inactivo se ejecuta básicamente mediante la comprobación de varios puntos de memoria (aplicaciones) para ver si necesitan hacer algo.

Entonces, piense de esta manera:

Usted está haciendo ejercicio y su instructor le dice que tome un descanso de quince minutos.

Comprueba tu pulso para asegurarte de que estás en la zona correcta. Luego te sientas y miras el reloj (haciendo lo mínimo que puedas durante los 15 minutos). No puedes irte a dormir, porque si lo haces, perderás la marca de 15 minutos sin que una fuerza externa te despierte.

Entonces, básicamente, su computadora está mirando el reloj para asegurarse de que no sea tarde, si duerme no sabría que este temporizador está listo o que la actividad está lista.

Siempre he asumido que el “tiempo de inactividad” representaba un “factor de violín” matemático para forzar la potencia total de la computadora disponible para igualar una estimación teórica de lo que era capaz la máquina. Otra forma de pensar en esto es que la computadora quiere recordarle que tiene energía sin explotar. Eso puede ser demasiado “poético” para los ingenieros entre nosotros. 🙂

Si la CPU se apaga, imagine cuál es la pérdida de reiniciar la CPU y la latencia al volver a conectarse con los hilos que podrían tener mucho contexto (información de proceso) con el programador.

Está viendo que los subprocesos son huérfanos y pierden técnicamente toda la información del proceso que se está ejecutando actualmente.

Esa es exactamente la razón por la cual el resto del planificador está ejecutando un proceso inactivo, de modo que siempre que sea necesario, pueda volver a dar servicio al proceso.