Connecting to and disconnecting from z/OS UNIX

To connect to the kernel for z/OS UNIX System Services, you make an address space known to it. This process is called dubbing. After it has been dubbed, the address space is considered to be a process. Address spaces that are created by fork are automatically dubbed when they are created. Other address spaces become dubbed if they invoke a z/OS UNIX service. Dubbing also applies to MVS™ tasks. A dubbed task is considered a thread. Tasks that are created by pthread_create are automatically dubbed threads; other tasks are dubbed if they invoke a z/OS UNIX service.

Undub is the inverse of dub. Normally, a task (dubbed a thread) is undubbed when it ends. An address space (dubbed a process) is undubbed when the last thread ends.

If, when a thread or process is being dubbed, the calling task has a task-level ACEE that does not have a USP connected to it, an INITUSP is done against the task-level ACEE. This causes z/OS UNIX security information to be associated with the task-level ACEE.

Start of changeEvery address space that is dubbed is required to have an address space level security environment with a valid OMVS segment. In a multi-user address space, if a task is dubbed and it has a security environment different from the address space, then the user ID that is identified with the task must also have a valid OMVS segment.End of change