Что произойдет с вашим временным интервалом, если вы получите приоритет в vxWorks?

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


person Benoit    schedule 18.09.2008    source источник


Ответы (1)


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

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

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

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

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

person Benoit    schedule 18.09.2008