Process Manager (QNX)
Syntax:
Proc32 [options]...
Options:
- -b
- Toggles between standard and alternate reboot method. Try this
option if a machine will not reboot properly.
- -B node
- Set base node in network (default: 1)
- -d num_major
- The number of
major device numbers to be
supported (default is 64).
- -D
- If the debugger (Debugger32) is
bound into the operating system, suppress its automatic invocation upon
boot.
- -e num_semaphores
- Specify the maximum number of semaphores available in the system.
(Default: 128)
- -f min max total
- This option controls the availability of
file descriptors (FDs):
- min
- The minimum number of FDs that must be available before a process
will start. This argument defaults to 16 and should be left at that
value if POSIX-compliance is a requirement (POSIX requires that a
process be capable of opening at least 16 files). You can save some
memory by reducing this number.
- max
- The maximum number of FDs that can be available for a process
(default is 512).
- total
- The total number of FDs available in the system (default is
num_procsx16).
Each process starts off by taking min FDs, which
it may grow to max FDs.
- -H
- Allocate heap as needed.
- -i irq
- Make irq the highest-priority hardware interrupt
in the system. You can specify a number from 0 through 7 (default is 3).
- -l node
- ("el") Assign the specified
logical node ID to this
machine (default is 1). Each connected machine must have a unique logical
node ID.
- -L
- Local. Don't permit outbound network access from this computer.
- -m num_shared_segs
- The number of shared segments (managed by the
qnx_segment_*()
family of functions) that will be available in this operating system image
(default is 2000).
- -M machine_name
- The symbolic name for this computer (default is AT or PS/2). Some programs
check for this name and alter their behavior accordingly. For example,
the floppy disk driver (Fsys.floppy) and
some PS/2 disk drivers look for the name PS/2.
- -n num_names
- The maximum number of
names that can be registered
locally by the
qnx_name_attach()
function (default is 80).
- -o port[,baud]
- Emit messages to the specified serial port.
- -p num_procs[,code]
- The total number of
real processes,
virtual circuits, and
proxies that can
exist at any time (default is 400). The optional ",code"
is for command-line compatibility with earlier Procs and
is ignored.
- -P priority
- Set Proc's priority to the specified value between
26 and 30. (Default: 30)
- -r prefix_len
- The size of the
system prefix space
(default is 2000).
- -s num_sessions
- The maximum number of sessions
that will be supported (default is 64).
- -S gdts ldts
- Set the maximum number of
global segments and
local segments in the system (by default an
appropriate value will be chosen).
Most programs need two local segments, while few may need 30
or more. Global segments may be used by some programs for permanent shared
memory.
- -t num_timers
- The number of timers that will be supported (default is 100).
These timers are allocated to processes with the
timer_create()
function and returned with the
timer_delete()
function. See also the
sleep() and
alarm() functions.
- -T trace_size
- The size of the trace buffer,
in kilobytes (default is 4K). See also the
tracectrl,
traceinfo, and
tracelogger utilities.
- -v level
- Set the verbosity level (0 to 3; default is 0).
The message levels are as follows:
- Level 0:
- An internal inconsistency was detected. Contact QNX Software Systems.
- Level 1:
- The Kernel was forced to take a planned but uncommon recovery action.
- Level 2:
- Expected actions have occurred as a result of a misbehaving process
or remote computer.
- Level 3:
- Status messages during normal operation.
Description:
Proc is a required process which handles process and memory
management.
Proc cannot be started at the command line. It must be
built into the operating system image.
In QNX documentation, you'll see the Process Manager referred to as Proc.
However, in your buildfile you must
specify which version of the Process Manager you want to use:
- Proc32
- Allows both 16-bit and 32-bit programs to run.
- Proc16
- Allows only 16-bit programs to run. Proc16 is not supplied
with QNX 4.23 and later. It may be available on your system if your
have the binaries from a previous version of QNX.
You can run only one Process Manager per computer.
The Process Manager (Proc) works closely with the
Kernel to provide essential operating
system services. In fact, the Kernel is bundled with the code for
Proc and shares the same address space. For these reasons,
Proc is a required system process in all
operating system images
that are built. You cannot start Proc after booting.
Most of the services Proc provides require the use of memory
within Proc. The amount of memory used is controlled by tables
whose sizes are set by options to Proc. Some tables are fixed
in size, while other dynamically request more memory as needed.
- Heapp
- displays the heap space for Proc as described in the
formula above.
- Heapf
- displays the heap space for
FDs (file descriptors)
(-f option).
- Heapl
- displays the heap space for
LDTs (local descriptor tables)
(-S option).
See also:
- /boot/sys/boot utility (QNX bootstrap)
- buildqnx utility (Build a custom version of QNX)
- Debugger32 utility (Low-level system debugger)
- prefix utility (Examine or change the pathname prefix tree)
- sin utility (Display system information)
- sinit utility (System initialization)
- tracectrl utility (Display and change trace parameters)
- traceinfo utility (Print trace events)
- tracelogger utility (Extract trace events and log them to a file)