¿Qué sucede con su intervalo de tiempo si se le adelanta en vxWorks?

StackOverflow https://stackoverflow.com/questions/89071

  •  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?

¿Fue útil?

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.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top