Re: Process scheduling.

Colin L. Hildinger (colin@ionet.net)
Mon, 09 Jun 97 03:00:10 -0500


On Mon, 9 Jun 1997 00:14:51 -0700, Greg Hewgill wrote:

>> From: Colin L. Hildinger <colin@ionet.net>
>> 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. [...]
>>
>> BTW - how does it work in NT? I use it but I have to admit I'm not
>> intimately familiar with the scheduling.
>
>NT has pretty much exactly the same scheduling algorithm as OS/2 (a
>surprising amount of the base architecture of the two systems is the same
>actually). When running an idle priority process, anybody that has any "real"
>work to do gets the CPU. I understand that occasionally NT will juggle
>process priorities temporarily to avoid total starvation, but this is not
>noticeable on any performance meter. I would suspect that OS/2 may do the
>same thing.

That's what I thought. Gee, NT was what happened when IBM and MS had
their little spat. MS told their guys to do OS/2 again as Windows.
There were a lot of shared by the two. NT has gotten away from some of
them, though, and looks to be moving further away from them. OS/2 (and
I suppose NT) gives a priority boost to any application that has focus
and a smaller priority boost to any application that has the mouse over
it. There is also the previously mentioned fairness algorhythm
regarding processes at the same priority class, but at different
levels. So order of operations goes:

Ring 0
Kernel level
Ring 3
Application level
Critical>Server>Application>Idle

An Idle priority app will get no cycles if they aren't available, and
so something like Quake causes DESCHALL to halt completely. NT 4.0
moved the graphics interface into Ring 0 to increase graphics
performance, but of course, it hurt multitasking because now a kernel
level process can actually wait on a line to be drawn or a bitmap to be
blitted. Duh. Of course, to the end user, under light conditions,
this makes NT "feel" faster, but it's not very smart when you're doing
real work with lots of processes. I mean, a graphically intensive app
could grind your server to a halt. Oops. As MS does more and more
stupid things like this, NT will become less and less stable, not more
and more. NT 3.51 will prove to be the most stable version of NT for
some years to come, I fear.

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