stringtranslate.com

Ejecutar cola

En las computadoras modernas se ejecutan muchos procesos a la vez. Los procesos activos se colocan en una matriz llamada cola de ejecución o cola de ejecución . La cola de ejecución puede contener valores de prioridad para cada proceso, que serán utilizados por el programador para determinar qué proceso ejecutar a continuación. Para garantizar que cada programa tenga una proporción justa de recursos, cada uno se ejecuta durante un período de tiempo (cuántico) antes de pausarlo y volver a colocarlo en la cola de ejecución. Cuando se detiene un programa para permitir que otro se ejecute, se permite ejecutar el programa con mayor prioridad en la cola de ejecución.

Los procesos también se eliminan de la cola de ejecución cuando solicitan entrar en suspensión , están esperando a que un recurso esté disponible o han sido finalizados.

En el sistema operativo Linux (anterior al kernel 2.6.23), a cada CPU del sistema se le asigna una cola de ejecución, que mantiene una matriz de procesos tanto activos como caducados. Cada matriz contiene 140 (uno para cada nivel de prioridad) punteros a listas doblemente enlazadas , que a su vez hacen referencia a todos los procesos con la prioridad dada. El programador selecciona el siguiente proceso de la matriz activa con mayor prioridad. Cuando el cuanto de un proceso expira, se coloca en la matriz caducada con cierta prioridad. Cuando la matriz activa no contiene más procesos, el programador intercambia las matrices activas y caducadas, de ahí el nombre de programador O (1).

En UNIX o Linux , el comando sar se utiliza para comprobar la cola de ejecución.

El comando vmstat UNIX o Linux también se puede utilizar para determinar la cantidad de procesos que están en cola para ejecutarse o esperando para ejecutarse. Estos aparecen en la columna 'r'.

Ejemplo:

$vmstatprocs -----------memoria---------- ---swap-- -----io---- -system-- ------cpu ----- rb swpd caché de beneficio gratuito si entonces bi bo en cs us sy id wa st 2 0 0 4579152 324416 4619528 0 0 402 236 3357 15 20 2 78 0 0

Hay dos modelos de colas de ejecución: uno que asigna una cola de ejecución a cada procesador físico y el otro tiene solo una cola de ejecución en el sistema.

Ver también

Referencias