Что произойдет с вашим временным интервалом, если вы получите преимущество в vxWorks? - PullRequest
2 голосов
/ 18 сентября 2008

Если у вас включен циклический перебор в Vxworks, и ваша задача вытесняется задачей с более высоким приоритетом, что происходит с оставшимся интервалом времени?

1 Ответ

3 голосов
/ 18 сентября 2008

Ваша задача возобновит выполнение и завершит оставшуюся часть времени.

Обратите внимание, что у вас будет некоторый джиттер, возникающий в течение одного такта, поскольку срезы времени имеют гранулярность 1 такт.

Например:
У вас включен циклический перебор с интервалом времени 10 часов. Один такт - 10 мс. Вы ожидаете 100 мс за интервал времени.
Вы получаете преимущество через 5 мс (середина вашего первого тика). Вы должны работать на 95 мс больше, но VxWorks считает, что у вас еще есть 10 тиков.

Если задание вернет процессор на 11 мс, вы выполните еще 99 мс.
Если задание вернет процессор на 19 мс, вы будете выполнять на 91 мс больше.

Каждый раз, когда вы получаете приоритет, ваша задача может выполнить тик +/- 1 в абсолютном времени.

...