Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

Definitions of terms used in this manual

A number of different terms are frequently used for the same object when describing the process of generating a program. The result obtained from a compiler run, for instance, is called an object module, whereas the same object module in LLM format is referred to as a link-and-load module.

The synonymous use of such terms serves a practical purpose within the context of specific components, but may occasionally be confusing to the user. To prevent any misunderstanding, the most important terms that are used synonymously are defined below for reference.

Object module, prelinked module

The term “object module” refers to object modules as well as “prelinked” modules.

Object modules and prelinked modules have the same structure and are stored in the same format (object module format). Such modules are stored in PLAM libraries as elements of type R.

Object modules are generated by the compiler. These modules are created whenever one or more source compilation units are compiled.

Prelinked modules are generated by the linkage editor TSOSLNK. A prelinked module is a single module that contains a combination of one or more object modules and/or other prelinked modules.

Object modules can be processed further by the static linkage editor TSOSLNK, the dynamic binder loader DBL, and the linkage editor BINDER.

The term “module” is a generic term for the result obtained by compiling a compilation unit with the COBOL2000 compiler. An “object module” is a module in OM format; a “link-and-load module” is a module in LLM format.

Executable program, program, load module, object program

Executable programs are programs that are generated by linkage editors and stored in PLAM libraries as elements of type C. They are often referred to simply as “programs” in this manual. In contrast to object modules, executable programs cannot be processed further by the linkage editor TSOSLNK; they are loaded into memory by a (static) loader.

In some documentation, the term “load module” is also used synonymously for an executable program. Technically speaking, however, a load module is a loadable unit within a program. A segmented program, for example, may consist of multiple load modules.

The synonymous use of the term “object program” for a load module could lead to confusion in COBOL terminology. The COBOL Standard uses the term object program for the object generated by the COBOL compiler, without taking any implementation-specific need for a linkage run into account.

Job, task, process

A job is a sequence of commands, statements, etc., that are specified between the SET-LOGON-PARAMETERS and EXIT-JOB (or LOGOFF) commands. A distinction is made between batch jobs (ENTER jobs) and interactive jobs (executed in a dialog).

A job is considered a task if system resources are allocated to it (CPU, memory, devices, etc.). In interactive mode, a job becomes a task as soon as the SET-LOGON-PARAMETERS command is accepted.

The activities which run within a task, e.g. program runs, are referred to as processes.

In the past the terms “task” and “job” have often been used as synonyms for “process”. In this User Guide these terms are used as described above. The phrase “at process termination” thus means: when a program run has terminated. “End of task” refers to the time after the EXIT-JOB or LOGOFF command. The term “task switch” is used instead of “process switch”.

Compilation group

A group of compilation units that are compiled together.

Compilation unit

A source unit that cannot be nested in other source units (e.g. a program prototype, program definition, class definition or interface definition). Compilation units can be grouped together as elements of a compilation group, but may also be compiled separately.

Source unit

A sequence of statements that begins with an Identification Division and ends with an associated END entry (can be nested).