A process maps into an MVS address space, and an MVS task environment exists for the process, in terms of a task control block (TCB) and related control blocks. In addition to the TCB, the kernel address space maintains a number of control blocks that represent a process. These control blocks exist within the kernel address space; they are created when an existing standard MVS program begins using UNIX System Services or when a new process is created by process creation functions. When an address space begins using z/OS UNIX services, we say the MVS address space is dubbed as a z/OS process. From a UNIX perspective, this means z/OS UNIX assigns a process ID (PID) to the process.
There are situations where multiple processes may exist within the same MVS address space, and in such a case a process may be running as the job step task or a subtask.
A z/OS UNIX program may use a number of UNIX services to create new processes or to enable multithreading within the process itself. There are no means to prohibit creation of new processes by an application programmer (although BPXPRMXX parmlib settings can limit the number of processes).
Process creation requires setting the FORKCOPY command with one of two methods:
You can use the panel to change the settings of the FORKCOPY command.
Use this panel to select your process settings.
You can find more detailed help on the following elements of this window:
Number of threads per process (MAXTHREADS)
Number of MVS tasks per process (MAXTHREADTASKS)
Number of CPU seconds per process (MAXCPUTIME)
Method of copying user storage during a fork (FORKCOPY)
Size of a core dump file for a process (MAXCORESIZE)
Number of queued signals per process (MAXQUEUEDSIGS)