Compartir a través de


Modificadores de contexto

El programador mantiene una cola de subprocesos ejecutables para cada nivel de prioridad. Estos se conocen como subprocesos listos para . Cuando un procesador está disponible, el sistema realiza un modificador de contexto . Los pasos de un modificador de contexto son:

  1. Guarde el contexto del subproceso que acaba de ejecutarse.
  2. Coloque el subproceso que acaba de ejecutarse al final de la cola para su prioridad.
  3. Busque la cola de prioridad más alta que contiene subprocesos listos.
  4. Quite el subproceso en el encabezado de la cola, cargue su contexto y ejecútelo.

Las siguientes clases de subprocesos no están listas para subprocesos.

  • Subprocesos creados con la marca de CREATE_SUSPENDED
  • Los subprocesos se detienen durante la ejecución con la función de SuspendThread o SwitchToThread
  • Subprocesos que esperan un objeto de sincronización o una entrada.

Hasta que los subprocesos suspendidos o bloqueados estén listos para ejecutarse, el programador no asigna ningún tiempo de procesador a ellos, independientemente de su prioridad.

Las razones más comunes para un modificador de contexto son:

  • Ha transcurrido el segmento de tiempo.
  • Un subproceso con una prioridad más alta está listo para ejecutarse.
  • Un subproceso en ejecución debe esperar.

Cuando un subproceso en ejecución necesita esperar, renuncia al resto de su segmento de tiempo.