Process Manager (QNX)
Proc32 [options]...
The options for Proc32 do not follow the
standard utility syntax rules. Options and option arguments
must all be supplied as separate command-line arguments
(i.e. separated by white space on the command line). Options
may not be strung together and must be separated from their
arguments by white space.
- -a
- Disable accounting.
- -b[1|2|3]
- Specifies reboot method:
- default
- Use system port 0x92, then keyboard controller, then cpu shutdown.
- -b
- Do not use keyboard controller when executing the default
sequence.
- -b1
- Reboot via keyboard controller first, then execute the default
sequence.
- -b2
- Reboot via system port 0x92 first (which is the default
sequence).
- -b3
- Reboot via processor shutdown only.
The options -b1, -b2 and -b3 may be
combined with -b which subtracts the keyboard method from
the subsequent execution of the default reboot sequence as follows:
Option |
Sequence |
default |
port 0x92, keyboard, cpu |
-b |
port 0x92, cpu |
-b1 |
keyboard, port 0x92, keyboard, cpu |
-b1 -b |
keyboard, port 0x92, cpu |
-b2 |
port 0x92, keyboard, cpu |
-b2 -b |
port 0x92, cpu |
-b3 |
cpu |
-b3 -b |
cpu |
|
Interrupt vector 0xf5 is always invoked before trying any of
these methods. For custom hardware, you can point this
vector at code to cause the restart. |
- -B node
- Set base node in network (default is 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 is 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_procs*16).
Each process starts off by taking min FDs, which
it may grow to max FDs.
- -F timer_freq
- Set frequency of the 8254 clock (default is 1193181 Hertz).
- -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 nid
-l @bios_offset
-l @wpaddr
-l ![b|w|l]ioport
- ("el") Assign a logical node ID to this
machine (default is 1). Each connected machine must have a unique logical
node ID. A node ID may be specified directly as a decimal integer
(nid) or read from the BIOS data area
(@bios_offset), from the physical address (@wpaddr), or from an
I/O port (!ioport). The forms of the
node specification are as follows:
- nid
- Specifies the node ID directly (decimal).
- @bios_offset
- Extract the node ID from the (byte) memory area at
offset bios_offset (hex) in the BIOS data area.
- @wpaddr
- Extract the 16-bit node ID from the physical address paddr
(hex).
- !ioport
- Extract the node ID by reading a byte from the I/O port
specified by ioport (hex).
- !bioport
- Extract the node ID by reading a byte from the byte-wide I/O port
specified by ioport (hex).
- !wioport
- Extract the node ID by reading a word from the word-wide I/O port
specified by ioport (hex).
- !lioport
- Extract the node ID by reading a longword from the longword-wide I/O port
specified by ioport (hex).
- -L[1|2]
- Local. Don't permit outbound network access from this computer.
- default
- Allow inbound and outbound network access.
- -L
- Local. Restrict outbound network access.
- -L1
- Local. Restrict outbound network access for all users except
root.
- -L2
- Disallow inbound network access, but allow
unrestricted outbound access.
- -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 (specified in
hexadecimal). The baud may also be specified (decimal);
the default baud is 9600.
- -p num_procs[,code]
- The total number of real processes, virtual circuits, and
proxies that can exist at any time (default is 500; maximum is 2000).
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.
- -W
- Enforce page protection in kernel. Note that this could
cause problems with debuggers or with older 32-bit graphics drivers.
- -z flag
- Set the following flags:
- N
- Use traditional (i.e DOS) NDP faults (the default).
- n
- Use real NDP faults. Note that the n flag precludes the use of int10.
- U
- Prefer QNX behavior where discrepancies exist between Unix and QNX (the default).
- u
- Prefer Unix behavior where discrepancies exist between Unix and QNX.
|
Proc is a required process -- it
cannot be started at the command line, but must be built
into the OS image. |
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 (deprecated)
- displays the heap space for Proc
- Heapf (deprecated)
- displays the heap space for
FDs (file descriptors)
(-f option).
- Heapl
- displays the heap space for
LDTs (local descriptor tables)
(-S option).
|
Both Heapp and Heapf are now handled
dynamically and are no longer needed. |
In QNX documentation, you'll see the Process Manager
referred to as Proc. However, in your buildfile
you must specify Proc32. Note that
Proc32 allows both 16-bit and 32-bit programs to
run.
/boot/sys/boot,
buildqnx,
Debugger32,
prefix,
sin,
sinit,
tracectrl,
traceinfo,
tracelogger