Says my program has 4 tasks. Each of them requires 1ms to execute and I want to run them every 10ms. If the OS initializes all tasks at the same time (this is usually the case), after 10ms, all 4 tasks are ready to run. Regardless of how the OS determines which task to run first, the last task won't be executed until 3ms later. This is quite inefficient because for the next 6ms, the system will sit idle, doing nothing. Would it be better if the OS: - starts the first task at time 0 - start the second task 2ms later - start the third task 4ms later - start the fourth task 6ms later With this way, when it is time to run any of the tasks, the OS can call the task right away because no other task is ready to run. The above example is simple because the duration a task is known and the executing period is the same. What would happen if they are all different? What would you do to avoid having two or more tasks ready to run at the same time? Regards, Thomas __________________________________ Do you Yahoo!? Vote for the stars of Yahoo!'s next ad campaign! http://advision.webevents.yahoo.com/yahoo/votelifeengine/ -- http://www.piclist.com#nomail Going offline? Don't AutoReply us! email listserv@mitvma.mit.edu with SET PICList DIGEST in the body