I had a question on how to make sure that a task/process is run on a
particular processor. Well, some of you would say that leave it on the
scheduler. But then there are some real-time applications such as video
applications. I understand that setting thread-priority and processor
affinity can help a great deal in this but still there is a possibility that
the scheduler might switch the processor. Moreover, is there a way, we can
make sure that only a specific task is run on a processor and it is not
burdened with anything else. ie. dedicate a processor for a specific task.
Let me give you some idea about where I am coming from. I would like to
design a 'pipe-line' processor where one processor, P1 is just dedicated for
video processing, one for user-interface, one for interrupts and say another
one for rest of the tasks. The shared memory programming helps here to a
great extent. But what is of main concern that P1 should never be made to
process other tasks no matter even if its idle. Is there a way, one can
ascertain it or write applications specific to get around this issue ?.