z/OS UNIX System Services concepts

An organization named X/Open documents standards of what to implement for UNIX interfaces in a series of guides that are published as the X/Open Portability Guides (XPG). X/Open owns the term UNIX and certifies different implementations of UNIX according to the UNIX definitions contained in XPG 4.2. z/OS® UNIX System Services, or z/OS UNIX, is a certified UNIX system as defined by X/Open in XPG 4.2. z/OS UNIX coexists with traditional MVS™ functions and traditional MVS data set types such as partitioned data sets and sequential data sets. It enables access to z/OS UNIX files and utilities concurrently by using application programming interfaces (APIs) and the interactive shell environment. Two variants of the z/OS UNIX shell environment are available:

With the APIs, programs can run in any environment including batch jobs, in jobs submitted by TSO/E interactive users, and in most other started tasks, or in any other MVS application task environment. The programs can request:
The shell interface is an execution environment analogous to TSO/E, with a programming language of shell commands analogous to Restructured eXtended eXecutor (REXX) language. The shell support consists of:

Prior to OS/390® V2R5, OS/390 UNIX required APPC/MVS for programs issuing the fork() or spawn() function. APPC/MVS is no longer required for this purpose. Forked and spawned address spaces are implemented in z/OS for UNIX processing by the Work Load Manager (WLM) component of MVS.

The types of processes can be:

A user or daemon process can have one or more threads. A thread is a single flow of control within a process. Application programmers create multiple threads to structure an application in independent sections that can run in parallel for more efficient use of system resources.