Guardian Programmer's Guide

Table Of Contents
Creating and Managing Processes
Guardian Programmer’s Guide 421922-014
16 - 2
Process Identifiers
A process consists of the following:
Code areas in virtual memory that contain the instruction codes to be executed.
These code areas are shared by all processes in the same CPU that execute the
same program file. The instructions in the code areas in virtual memory are
derived from the code part of the program file on disk.
Data areas in virtual memory that contain the program variables and temporary
storage that is private to the process. Even if other processes use the same code
areas, each process has its own private data areas. The disk part of the data area
is obtained from the Kernel-Managed Swap Facility (KMSF), or, in some cases,
from a designated swap file.
A process control block (PCB) that is used by the operating system to control
process execution. The PCB contains pointers to the process code and data
areas, retains process context when the process is suspended, and contains
pointers to files opened by the process.
In addition to a PCB associated with every process, the operating system maintains
several other tables of information to keep track of processes. A collection of such
tables, known as the destination control table (DCT), contains information about all
named processes on the system. This table is a system-wide table and therefore
remains visible even if a CPU should fail.
Process Identifiers
A D-series system has an architectural limit of 64K processes that can concurrently run
on each CPU. The practical limit is significantly smaller than this number and is
constrained by memory and other resources. However, because you can have up to
16 CPU modules in a system and up to 256 such systems in a network, there is the
potential for many millions of processes. The operating system therefore provides the
following methods of identifying processes:
Process file names
Process handles
Process File Names
In the operating system, most objects are considered to be files. Just like disk files and
devices, a process can also be considered to be a file. The file name for a process is
known as a process file name; it can be used, for example, to open a process for
communication by passing it to the FILE_OPEN_ procedure.
A process descriptor is a process file name returned by a system procedure. A
process descriptor is always unqualified; that is, it cannot contain process qualifiers
like the named form of a process file name can.
See Section 2, Using the File System, for a complete discussion of process file names,
including syntax definitions and information about how to use process file names when
opening a process file.