What priority does the process manager run at?

What priority does the process manager run at?
In QNX4, you could set Proc32 -P .
Markus

It has many threads each running at various priorities. Generally, there
will always be a procnto thread running with the priority of
highest-priority thread in the system. I.e., if you start your own
process with prio 63 there will appear procnto thread running at prio
63.

  • igor

Markus Loffler wrote:

What priority does the process manager run at?
In QNX4, you could set Proc32 -P .
Markus

Igor Kovalenko wrote:

It has many threads each running at various priorities. Generally, there
will always be a procnto thread running with the priority of
highest-priority thread in the system. I.e., if you start your own
process with prio 63 there will appear procnto thread running at prio
63.

I have the following ‘theory’ (correct me if I’m wrong):

the process manager has several threads running with a default
priority of 10.
Each of these threads are providing services to system/user
level tasks and inherits the priority of the requesting task.

BTW, I believe we need some rules for assigning task priorities.

For instance … time critical threads (e.g. interrupt threads)
should be placed in the range of 62 down to 52(?) …
no application task should run in that range, because of an
application thread consuming completely its timeslice could
potentially distroy the timely behavior of driver threads …

Armin

For instance … time critical threads (e.g. interrupt threads)
should be placed in the range of 62 down to 52(?) …
no application task should run in that range, because of an
application thread consuming completely its timeslice could
potentially distroy the timely behavior of driver threads …

What if that “application thread” is a realtime thread (scheduled by a
software timer), that needs to preempt the driver thread. Your proposal
is no different than suggesting that drivers do all their work in the
interrupt handler (where no “application threads” can preempt them).
The whole point of not doing work at interrupt time, and deferring it to
process time, is precisely so that “application threads” can preempt
driver threads.