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:
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.
Daemons are programs that are typically started when the operating system is initialized and remain active to perform standard services. Some programs that initialize processes for users are considered daemons, even though these daemons are not long-running processes. Examples of daemons provided by z/OS UNIX are cron, which starts applications at specific times, and inetd, which starts applications on demand.
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.