stringtranslate.com

Proceso inactivo del sistema

En los sistemas operativos Windows NT , el proceso inactivo del sistema contiene uno o más subprocesos del núcleo que se ejecutan cuando no se puede programar ningún otro subproceso ejecutable en una CPU. En un sistema multiprocesador, hay un subproceso inactivo asociado con cada núcleo de CPU. Para un sistema con hyperthreading habilitado, hay un subproceso inactivo para cada procesador lógico.

El objetivo principal del proceso inactivo y sus subprocesos es eliminar lo que de otro modo sería un caso especial en el programador. Sin los subprocesos inactivos, podría haber casos en los que no se pudiera ejecutar ningún subproceso (o "Listo" en términos de estados de programación de Windows). Dado que los subprocesos inactivos siempre están en estado Listo (si aún no están en ejecución), esto nunca puede suceder. Por lo tanto, cada vez que se llama al programador debido a que el subproceso actual abandona su CPU, siempre se puede encontrar otro subproceso para ejecutarse en esa CPU, incluso si solo es el subproceso inactivo de la CPU. Por lo tanto, el tiempo de CPU atribuido al proceso inactivo es indicativo de la cantidad de tiempo de CPU que ningún otro subproceso del sistema necesita ni desea.

El programador trata los subprocesos inactivos como casos especiales en términos de prioridad de programación de subprocesos. Los subprocesos inactivos se programan como si cada uno de ellos tuviera una prioridad inferior a la que se puede establecer para cualquier subproceso normal.

Debido a la función del proceso inactivo, su medición del tiempo de CPU (visible a través, por ejemplo, del Administrador de tareas de Windows ) puede hacer que a los usuarios les parezca que el proceso inactivo está monopolizando la CPU. Sin embargo, el proceso inactivo no consume recursos de la computadora (incluso cuando se indica que se está ejecutando a un alto porcentaje). Su "uso" de tiempo de CPU es una medida de cuánto tiempo de CPU no utilizan otros subprocesos.

En Windows 2000 y posteriores, los subprocesos del proceso inactivo del sistema también se utilizan para implementar el ahorro de energía de la CPU . El esquema exacto de ahorro de energía depende de la versión del sistema operativo y de las capacidades de hardware y firmware del sistema en cuestión. Por ejemplo, en procesadores x86 bajo Windows 2000, el subproceso inactivo ejecutará un bucle de instrucciones de detención , lo que hace que la CPU apague muchos componentes internos hasta que llegue una solicitud de interrupción . Las versiones posteriores de Windows implementan métodos de ahorro de energía de la CPU más complejos. En estos sistemas, el subproceso inactivo llamará a rutinas en la capa de abstracción de hardware para reducir la velocidad del reloj de la CPU o implementar otros mecanismos de ahorro de energía.

Hay fuentes más detalladas de dicha información disponibles a través del sistema de monitoreo de rendimiento de Windows (accesible con el programa perfmon), que incluye una categorización más detallada del uso de la CPU. También se puede acceder a un subconjunto limitado de la categorización del tiempo de CPU a través del Administrador de tareas , que puede mostrar el uso de la CPU por CPU y clasificarlo por el tiempo invertido en el código del usuario versus el del kernel.

Ver también

Referencias