|
Re: periodic tasks in autonomous independent
For simplicity, the LV queue has been described generically as a Queue. In reality, it is implemented as a priority Q. OS threads are lazily allocated to service the head of each priority in use -- by default a few threads per CPU core per priority in use. This means that if tasks at different priorities become available, the OS scheduler is aware of the requests and will schedule accordingly.
Not being on the VxWorks RT team, I can't say exactly how the threads were created or how the Queue is implemented for the OS. I can't say exactly how VxWorks is expected to behave in the case of competing priorities, inversions, etc. So, I'm being vague about the implementations I don't know in great detail. If I had a cRIO available, I could write tests that measure the response, however.
Greg McKaskle
|