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.
- 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
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.