Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
El programador mantiene colas independientes de subprocesos ejecutables para cada nivel de prioridad. Estos subprocesos 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:
- Guarde el contexto del subproceso que el procesador ha adelantado o generado voluntariamente.
- Si el subproceso permanece en un estado listo, colóquelo al final de la cola para su nivel de prioridad.
- Busque la cola de prioridad más alta que contiene subprocesos listos.
- Quite el subproceso en el encabezado de la cola, restaure su contexto y reanude la ejecución.
Las siguientes clases de subprocesos no están listas para subprocesos.
- Subprocesos creados con la marca de CREATE_SUSPENDED
- Subprocesos detenidos durante la ejecución con la función 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.