Optimizar la selección de recursos en el programador

Para mejorar el rendimiento del procesamiento del programador de una cola de solicitud de recursos, puede intentar utilizar las reglas de selección de recursos que se describen en este tema.
  • Primera carga
  • Prmrs N crgas
  • Prep mín primera carga
  • Prep mín primeras N cargas
  • Umbral

Estas reglas son más rápidas porque tienen en cuenta solo una parte de las solicitudes de carga posibles en la cola de solicitudes del programador.

Tenga en cuenta que el uso de estas reglas puede derivar en un comportamiento inesperado.

Por ejemplo, se pueden producir situaciones en las que el recurso quede libre, ordene la cola de solicitudes mediante la regla de selección, falle al efectuar una asignación, cambie a inactivo y permanezca inactivo. En esta situación, el recurso permanece inactivo hasta que tenga lugar una de las situaciones siguientes:

  • Una carga procesa una operación cuando necesite el recurso.
  • El recurso se vuelve fuera de turno y a continuación vuelve a estar en turno.

El recurso permanece inactivo durante el resto de la ejecución del programador porque otra carga puede prescindir del recurso y el recurso está fuera de turno. Esto conduce a un problema relacionado. Cada vez que utilice las reglas de selección Primera carga y Primeras N cargas, las solicitudes de carga que se encuentren en las primeras posiciones de la solicitud pueden "bloquear" solicitudes que se encuentren en posiciones inferiores de la cola. Por ejemplo, esto se produciría en el siguiente caso:

  • Primera carga es la regla de selección para el recurso REC1.
  • La primera carga de la cola de la solicitud REC1 necesita los recursos REC1 y REC2.
  • REC1 está libre, pero REC2 no.

El recurso REC1 permanecerá inactivo hasta que el sistema pueda asignar REC2 a la carga en espera u otra carga procese una operación donde se necesite REC1, o REC1 se vuelva fuera de turno y, a continuación, vuelva a estar en turno.