La planificación del procesador se ve alterada por la ocurrencia de eventos asíncronos procedentes del hardware o interrupciones.
En este sentido, es preciso llegar a un compromiso entre el deseo del shuttle que está ejecutando de continuar en el procesador y el deseo de un gestor de interrupción de ejecutar cuanto antes.
La solución adoptada por Off consiste en el empleo de prioridades de ejecución (no confundir con la planificación por prioridades). Éstas indican qué prioridad tiene un shuttle que está ejecutando ante la ocurrencia de una interrupción. Cada interrupción lleva así mismo asociado un nivel de prioridad.
Sólo aquellas interrupciones que superan el nivel de prioridad del
shuttle en ejecución son atendidas. El resto aguardan a que el nivel
de prioridad del shuttle en ejecución sea reducido
.
En este sentido, los niveles de prioridad de ejecución de los shuttles
se corresponden a los niveles de privilegio de ejecución presentes en
algunos procesadores.
Los eventos síncronos (o excepciones) no plantean problemas en cuanto
a planificación se refiere: el tratamiento de los mismos no se
considera de modo especial. Cuando ocurre una excepción el
kernel la
recoge inicialmente, posiblemente para reenviarla a la aplicación para
su tratamiento. Dicho tratamiento lo realiza el shuttle que sufrió la
excepción, por lo que sigue rigiendo la planificación expulsiva por
quanta que se aplica tal y como ya hemos mencionado.