Specifications

OpenVMS VAX Operating System, Version 5.5-2 SPD 25.01.37
Print queues, both generic and execution, together with
queue management facilities, provide versatile print ca-
pabilities, including support of ANSI and PostScript® file
printing.
Sites requiring sophisticated batch job dependency
checking and job restart capabilities should refer to the
DECscheduler for VMS Software Product Description
(SPD 32.19.xx).
Accounting
For accounting purposes, VMS keeps records of the use
of system resources. These statistics include processor
and memory utilization, I/O counts, print symbiont line
counts, image activation counts, and process termina-
tion records. VMS Accounting allows various reports to
be generated using this data.
Autoconfigure/Autogen
VMS provides utilities to automatically configure the
available devices into the system tables and to set sys-
tem operational parameters based on the detected pe-
ripheral and memory configuration. There is no need
for a traditional "system generation" process when the
hardware configuration is expanded or otherwise modi-
fied.
Operating System Environment
Process and Scheduling
The basic unit of execution in VMS is the process. A
process consists of individual address space and regis-
ters 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 VAX system.
Processes receive processor time to execute their im-
ages based on the priority of the process. Thirty-two
priorities are recognized: priorities 0 to 15 are for time-
sharing processes and applications that are not time
critical (four is the typical default for time-sharing pro-
cesses), and priorities 16 to 31 are for real-time pro-
cesses.
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 process ready to execute.
The system automatically adjusts priorities of processes
whose base priority is in the range of 0 to 15 to favor
I/O-bound and interactive processes, but the system will
not adjust the priority of a process in the range of 16 to
31.
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
scheduled pre-emptively; that is, if a real-time process is
ready to execute, it is given the processor immediately,
unless a real-time process with a higher priority is ready
to execute.
VMS uses paging and swapping mechanisms to provide
sufficient virtual memory for multiple concurrently exe-
cuting processes. Also, paging and swapping is pro-
vided for processes whose memory requirements ex-
ceed available physical memory. The maximum working
set size is 200,000 pages of memory.
Programmers can exercise control over memory man-
agement from within an image. An image executing in
a real-time process, 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 into
the system or for a specific group of users. The system
controls interactive terminals and one or more printers.
Vector Processing
A single data item, having one value, is known as a
scalar value. A group of related scalar values, or ele-
ments, all of the same data type, is known as a vector.
An extension to the VAX architecture defines an op-
tional design for integrated vector processing that has
been adopted by several VAX systems. The VAX vec-
tor architecture includes 16 64-bit vector registers (V0
through V15), each containing 64 elements; vector con-
trol registers; vector function units; and a set of vec-
tor instructions. VAX vector instructions transfer data
between the vector registers and memory, perform inte-
ger and floating-point arithmetic, and execute processor
control functions.
A more detailed description of the VAX vector architec-
ture, vector registers, and vector instructions appears in
the VAX MACRO and Instruction Set Reference Man-
ual.
The VMS Operating System provides fully-shared, multi-
programming support for VAX vector processing sys-
tems. By default, VMS loads vector support code when
initializing vector-present systems, but does not load it
when initializing vector-absent systems. A system man-
ager can control this behavior by using the SYSGEN
parameter VECTOR_PROC, as described in the VMS
documentation.
5