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:
- Guarde el contexto del subproceso que acaba de ejecutarse.
- Coloque el subproceso que acaba de ejecutarse al final de la cola para su prioridad.
- Busque la cola de prioridad más alta que contiene subprocesos listos.
- 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.