z/OS UNIX System Services

z/OS® UNIX System Services provides capabilities under z/OS to make it easier to implement or port applications in an open, distributed environment. z/OS UNIX is available to z/OS XL C/C++ application programs through the C/C++ language bindings available with the Language Environment® element.

Together, z/OS UNIX, the Language Environment element, and the z/OS XL C/C++ compilers provide an application programming interface that supports industry standards.

z/OS UNIX provides support for both existing z/OS applications and new z/OS UNIX applications through the following ways:
  • C programming language support as defined by ISO C
  • C++ programming language support as defined by ISO C++
  • C language bindings as defined in the IEEE 1003.1 and 1003.2 standards; subsets of the draft 1003.1a and 1003.4a standards; X/Open CAE Specification: System Interfaces and Headers, Issue 4, Version 2, which provides standard interfaces for better source code portability with other conforming systems; and X/Open CAE Specification, Network Services, Issue 4, which defines the X/Open UNIX descriptions of sockets and X/Open Transport Interface (XTI)
  • z/OS UNIX extensions that provide z/OS-specific support beyond the defined standards
  • The z/OS UNIX Shell and Utilities feature, which provides:
    • A shell, based on the Korn Shell and compatible with the Bourne Shell
    • A shell, tcsh, based on the C shell, csh
    • Tools and utilities that support the X/Open Single UNIX Specification, also known as X/Open Portability Guide (XPG) Version 4, Issue 2, and provide z/OS support. The following list is a partial list of utilities that are included:
      ar
      Creates and maintains library archives
      as
      Invokes HLASM to create assembler applications
      BPXBATCH
      Allows you to submit batch jobs that run shell commands, scripts, or z/OS XL C/C++ executable files in z/OS UNIX files from a shell session
      c89
      Uses host environment variables to compile, assemble, and bind z/OS UNIX, C/C++ and assembler applications
      dbx
      Provides an environment to debug and run programs
      gencat
      Merges the message text source files (usually *.msg) into a formatted message catalog file (usually *.cat)
      iconv
      Converts characters from one code set to another
      ld
      Combines object files and archive files into an output executable file, resolving external references
      lex
      Automatically writes large parts of a lexical analyzer based on a description that is supplied by the programmer
      localedef
      Creates a compiled locale object
      make
      Helps you manage projects containing a set of interdependent files, such as a program with many z/OS source and object files, keeping all such files up to date with one another
      xlc
      Allows you to invoke the compiler using a customizable configuration file
      yacc
      Allows you to write compilers and other programs that parse input according to strict grammar rules
    • Support for other utilities such as:
      dspcat
      Displays all or part of a message catalog
      dspmsg
      Displays a selected message from a message catalog
      mkcatdefs
      Preprocesses a message source file for input to the gencat utility
      runcat
      Invokes mkcatdefs and pipes the message catalog source data (the output from mkcatdefs) to gencat
  • Access to the Hierarchical File System (HFS), with support for the POSIX.1 and XPG4 standards
  • Access to the z/OS File System (zFS), which provides performance improvements over HFS, and also supports the POSIX.1 and XPG4 standards
  • z/OS XL C/C++ I/O routines, which support using z/OS UNIX files, standard z/OS data sets, or a mixture of both
  • Application threads (with support for a subset of POSIX.4a)
  • Support for z/OS XL C/C++ DLLs
z/OS UNIX System Services offers program portability across multivendor operating systems, with support for POSIX.1, POSIX.1a (draft 6), POSIX.2, POSIX.4a (draft 6), and XPG4.2.

For application developers who have worked with other UNIX environments, the z/OS UNIX Shell and Utilities is a familiar environment for XL C/C++ application development. If you are familiar with existing MVS™ development environments, you may find that the z/OS UNIX System Services environment can enhance your productivity. Refer to z/OS UNIX System Services User's Guide for more information about the Shell and Utilities.