Specifications

OpenVMS Operating System for Alpha and VAX (Versions 7.1, 7.1–1H1, 7.1–1H2, and 7.1–2) SPD 41.87.06
OPERATING SYSTEM ENVIRONMENT
OpenVMS VAX Processes and Scheduling
The basic unit of execution in OpenVMS is the process.
A process consists of individual address space and reg-
isters known as context, and code called an executable
image. The context identifies the process and describes
its current state. Executable images consist of system
programs and user programs that have been compiled
and linked.
The maximum number of concurrent processes is 8,192
per OpenVMS VAX system.
Processes receive time to execute their images based
on the priority. Thirty-two priorities are recognized on
OpenVMS VAX, and 64 priorities are recognized on
OpenVMS Alpha. Priorities 0 to 15 are for time-sharing
processes and applications that are not time critical (four
is the typical default for timesharing processes). Prior-
ities 16 to 32 on VAX and 16 to 63 on Alpha are for
real-time processes.
Each time an event such as an I/O interrupt occurs, the
system services the event first and then passes control
to the highest priority process ready to execute. The
system automatically adjusts the priorities of processes
in the range of 0 to 15 to favor I/O-bound and interactive
processes. However, the system does not adjust the
priority of a process in the range of 16 to 31 for VAX or
16 to 63 for Alpha.
Real-time processes can be assigned higher priorities to
ensure that they receive processor time whenever they
are ready to execute. Real-time processes are sched-
uled preemptively; that is, if a real-time process is ready
to execute, it is given to the processor immediately, un-
less a process with a higher priority is ready to execute.
OpenVMS uses paging and swapping to provide suf-
ficient virtual memory for concurrently executing pro-
cesses. Also, paging and swapping are provided for
processes whose memory requirements exceed avail-
able physical memory. The maximum working set size
is 512 MB of memory for VAX and 4 GB for Alpha.
Programmers can control memory management from
within an image. An image executing in a real-time pro-
cess, for example, can inhibit paging or swapping of
critical code and data.
Peripheral devices can be managed by the system or al-
located by individual processes. At least one disk must
be a system disk. Other disks can be designated as
data disks for the general use of all users logging in to
the system or for a specific group of users. The system
controls interactive terminals and one or more printers.
OpenVMS Alpha Processes and Scheduling
The basic unit of execution in OpenVMS Alpha is the
kernel thread. A kernel thread consists of individual ad-
dress space and registers known as context, and code
called an executable image. The context identifies the
kernel thread and describes its current state. Each pro-
cess can have up to 16 kernel threads. Executable im-
ages consist of system programs and user programs
that have been compiled and linked.
The maximum number of concurrent processes is
16,384 per OpenVMS Alpha system.
Kernel threads receive processor time to execute their
images based on the priority of the process. Thirty-
two priorities are recognized on OpenVMS VAX, and 64
priorities are recognized on OpenVMS Alpha. Priorities
0 to 15 are for time-sharing processes and applications
that are not time critical (four is the typical default for
timesharing processes). Priorities 16 to 32 on VAX and
16 to 63 on Alpha are for real-time processes.
Each time an event such as an I/O interrupt occurs, the
system first services the event and then passes con-
trol to the highest priority kernel thread ready to exe-
cute. The system adjusts the priorities of kernel threads
whose base priority is in the range of 0 to 15 to favor
I/O-bound and interactive processes. However, the sys-
tem does not adjust the priority of a kernel thread in the
range of 16 to 31 for VAX or 16 to 63 for Alpha.
Real-time processes can be assigned higher priorities to
ensure that they receive processor time whenever they
are ready to execute. Real-time processes are sched-
uled preemptively; that is, if a real-time process is ready
to execute, it is given to the processor immediately, un-
less a higher priority process is ready to execute.
OpenVMS uses paging and swapping to provide suf-
ficient virtual memory for concurrently executing pro-
cesses. Also, paging and swapping is provided for pro-
cesses whose memory requirements exceed available
physical memory.
Programmers can control memory management from
within an image. An image executing in a real-time pro-
cess, for example, can inhibit paging or swapping of
critical code and data.
Peripheral devices can be managed by the system or al-
located by individual processes. At least one disk must
be a system disk. Other disks can be designated as
data disks for the general use of all users logging in to
the system or for a specific group of users. The system
controls interactive terminals and one or more printers.
9