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. 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 terminar 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 son subprocesos listos.

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

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:

  • El intervalo de tiempo ha transcurrido.
  • 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 intervalo de tiempo.