OK dumb question. I am going out to get my own personal brown paper bag, since I seem to be wearing it so often. I forgot tasks get removed from the runqueue when they are sleeping, etc. so the active array should empty most of the time. However, with more RT tasks and interactive tasks being thrown back into the active queue I could see this POSSIBLY occasionally starving a few processes???
I am still confused about one thing, unrelated to this. If RT tasks never expire and thus are never moved to the expired array??? Does that imply that we never switch the active and expired arrays? If so how do tasks that do expire get moved back into the active array?