Guía de administración de sistemas: administración de recursos y contenedores de Oracle Solaris y zonas de Oracle Solaris

Ejemplos de recursos compartidos de la CPU

Supongamos que tiene un sistema con dos CPU que ejecutan dos cargas de trabajo paralelas denominadas A y B. Cada carga de trabajo se ejecuta como un proyecto independiente. Los proyectos se han configurado de modo que el proyecto A tenga asignados SA recursos compartidos y el proyecto B tenga asignados SB recursos compartidos.

Como media, con el programador TS tradicional, cada carga de trabajo que se ejecuta en el sistema operativo tiene asignada la misma cantidad de recursos de la CPU. Cada carga de trabajo recibiría el 50 por ciento de la capacidad del sistema.

Cuando los proyectos se ejecutan bajo el control del programador FSS con S A=SB, también reciben aproximadamente la misma cantidad de recursos de la CPU. Sin embargo, si los proyectos tienen asignada una cantidad diferente de recursos compartidos, sus asignaciones de recursos de la CPU también serán diferentes.

Los tres ejemplos siguientes muestran el funcionamiento de los recursos compartidos con diferentes configuraciones. Estos ejemplos muestran que los recursos compartidos sólo tienen precisión matemática para representar el uso si la demanda cumple o supera los recursos disponibles.

Ejemplo 1: Dos procesos vinculados a la CPU en cada proyecto

Si A y B tienen dos procesos vinculados a la CPU, S A = 1 y S B = 3, el número total de recursos compartidos es 1 + 3 = 4. En esta configuración, si hay suficiente demanda de CPU, a los proyectos A y B se les asigna el 25 por ciento y el 75 por ciento de los recursos de la CPU, respectivamente.

Ilustración. El contexto describe la ilustración.

Ejemplo 2: Proyectos que no compiten

Si A y B sólo tienen un proceso vinculado a la CPU y S A= 1 y S B = 100, el número total de recursos compartidos es de 101. Cada proyecto no puede utilizar más de una CPU porque cada uno sólo tiene un proceso en ejecución. Dado que en esta configuración no existe competencia entre los proyectos por los recursos de la CPU, los proyectos A y B tienen asignado cada uno un 50 por ciento de todos los recursos de la CPU. En esta configuración, los valores de recursos compartidos de la CPU no son relevantes. Las asignaciones de los proyectos serían las mismas (50/50), aunque ambos proyectos no tengan asignado ningún recurso compartido.

Ilustración. El contexto describe la ilustración.

Ejemplo 3: No se puede ejecutar un proyecto

Si A y B tienen dos procesos vinculados a la CPU, y al proyecto A se le asigna 1 recurso compartido y al B ninguno, el proyecto B no tendrá asignado ningún recurso de la CPU y el proyecto A tendrá asignados todos los recursos de la CPU. Los procesos de B siempre se ejecutan con una prioridad del sistema de 0, de modo que nunca podrán ejecutarse porque los procesos del proyecto A siempre tienen prioridades mayores.

Ilustración. El contexto describe la ilustración.