You gave a very good description, Jeff, but you forgot the A and
B queues.
The A queue (highest priority is for essential system processes.
The B queue is for other system processes, but also can be used
to
run user sessions that are vital, but do a lot of disk i/o, so
that
while accessing disk there is time for other processes in the
lower queues to run. A good example is a monitor program that is
normally idle, but when the operator needs to do something it
needs
to preempt all other (except system) processes.
Regards,
Nick D.