¿Qué sucede con su intervalo de tiempo si se le adelanta en vxWorks?
-
01-07-2019 - |
Pregunta
Si tiene habilitado el round robin en Vxworks y su tarea es reemplazada por una tarea de mayor prioridad, ¿qué sucede con el intervalo de tiempo restante?
Solución
Su tarea reanudará la ejecución y finalizará el resto del intervalo de tiempo.
Tenga en cuenta que se producirá cierta fluctuación durante un tic de tiempo, ya que el corte de tiempo tiene una granularidad de 1 tic de reloj.
Por ejemplo:
Tiene habilitado el round robin con un intervalo de tiempo de 10 tics.Un tic de reloj es de 10 ms.Espera 100 ms por intervalo de tiempo.
Te adelantan a los 5 ms (la mitad de tu primer tic).Deberías ejecutar 95 ms más, pero VxWorks considera que todavía te quedan 10 ticks.
Si la tarea recupera la CPU a 11 ms, ejecutará 99 ms más.
Si la tarea recupera la CPU a 19 ms, ejecutará 91 ms más.
Cada vez que se le adelanta, su tarea podría ejecutarse +/- 1 tic en tiempo absoluto.