I like OS/2's method, personally. There are four brackets of priority,
each with higher importance. A critical priority always takes
precedence over an idle one. Period. If a critical priority thread is
due, a server level one and below waits, if an server level thread is
due, an application level and below waits, and if an application level
thread is due, idle waits (I might not have gotten the names right).
There are then 32 levels of priority within each process type that
share processor time based on a fairness algorhythm.
BTW - how does it work in NT? I use it but I have to admit I'm not
intimately familiar with the scheduling. Same question for 95 I guess,
but whatever 95 does, it's poorly implemented based on the useability
of the system when you get a few processes going, especially DOS
programs. 95 can't deal with them to save its neck.
Colin L. Hildinger
Games Editor - OS/2 e-Zine!
http://www.os2ezine.com/
The Ultimate OS/2 Gaming Page
http://www.ionet.net/~colin/games.html
The Official Unofficial AWE32 and OS/2 Warp Page
http://www.ionet.net/~colin/awe32.html