z/OS MVS Program Management: User's Guide and Reference
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


Combining modules

z/OS MVS Program Management: User's Guide and Reference
SA23-1393-00

Each module of symbolic language code is first assembled or compiled by one of the language translators. The input to a language translator is a source module. The output from a language translator is an object module. Object modules are relocatable modules of machine code that are not executable, and have one of several formats:
  • Traditional object modules (OBJ) produced by most IBM® language products and accepted by the binder, linkage editor, and batch loader.
  • Extended object modules (XOBJ), for instance those processed by COBOL and C/C++ compilers, are accepted by the Language Environment® prelinker. The binder also accepts XOBJ object files, eliminating the need for the Language Environment prelinker.
  • Generalized Object File Format (GOFF) object modules, for example those created by the High Level Assembler and the IBM C/C++ compilers, are accepted only by the binder. GOFF supports long external names up to 32767 bytes, multiple text classes, and embedded ADATA.
Before an object module can be executed, it must be processed by a program management component into executable machine code. The batch loader and the binder can produce executable code directly in virtual storage that executes and is then discarded. The binder and the linkage editor can produce executable code that can be stored in a program library. The binder can produce:
  • A program object stored in a partitioned data set extended (PDSE) program library
  • A program object stored in a z/OS UNIX System Services (z/OS UNIX) file
  • A load module stored in a partitioned data set (PDS) program library.
The linkage editor can only produce load modules stored in a PDS.

You can also use the IEBCOPY utility to convert load modules in a PDS into program objects in a PDSE, or program objects in a PDSE into load modules in a PDS. See Using utilities for Program Management.

Unix System Services commands cp and mv and TSO commands OGET and OPUT can be used to convert between program modules in a PDS or PDSE and program objects in a z/OS® UNIX file system. See z/OS UNIX System Services Command Reference for more information.

Program objects and load modules are units of executable machine code in a format that can be loaded into virtual storage and relocated by the program management loader. Collectively, program objects and load modules are referred to as program modules. The PDSE and PDS data sets they reside in respectively, are referred to as program libraries.

Figure 1 shows the steps required to create an executable program from source modules. The binder API allows you to control specific binding operations. See z/OS MVS Program Management: Advanced Facilities for more information about the binder API.
Figure 1. Preparing source modules for execution and executing the program

ieab1m01

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014