The Binder Loader System (BLS) provides the user with the following functional units:
the linkage editor BINDER
the old linkage editor TSOSLNK
the subsystem BLSSERV with the functionality of the dynamic binder loader DBL and the static loader ELDE
BLSSERV V21.0A runs on BS2000/OSD-BC V6.0 or higher.the security component BLSSEC (which may be optionally activated).
The linkage editor BINDER
BINDER is a linkage editor which links modules into a loadable unit with a logical and physical structure. This unit is referred to as a link and load module (LLM). BINDER stores the LLM as a type L library element in a program library or in a PAM file.
Modules linked by BINDER into an LLM may be:
object modules (OMs) generated by compilers and stored in an object module library (OML), a program library (type R) or the temporary EAM object module file
prelinked LLMs, or LLMs generated by compilers, from a program library (type L)
prelinked LLMs from a PAM file (PAM-LLM)
prelinked object modules linked by the TSOSLNK linkage editor and stored in an object module library (OML), in a program library (type R) or in the temporary EAM object module file.
The linkage editor TSOSLNK
The TSOSLNK linkage editor links:
one or more object modules (OMs) into an executable program (load module) and stores this in a cataloged program file or as a type C library element in a program library
multiple object modules (OMs) into a single prelinked module and stores this as a type R library element in a program library or in the EAM object module file.
Instead of the linkage editor TSOSLNK, the user should use BINDER, since TSOSLNK will not be developed further and will be replaced by BINDER.
BLSSERV with the dynamic binder loader DBL and the static loader ELDE
The dynamic binder loader (DBL) links modules into a load unit and loads this into memory. The DBL functionality is part of the BLSSERV subsystem.
Modules linked by DBL into a load unit may be:
link and load modules (LLMs) linked by BINDER or generated by compilers and stored in a program library (type L),
link and load modules (LLMs) linked by BINDER and stored in a PAM file (PAM-LLMs, as of BLSSERV V2.5),
object modules (OMs) generated by compilers and stored in an object module library (OML), in a program library (type R) or in the temporary EAM object module file,
prelinked object modules linked by the TSOSLNK linkage editor and stored in an object module library (OML), in a program library (type R) or in the temporary EAM object module file.
The static loader ELDE loads an executable program that has been linked by TSOSLNK and stored in a program file or as a type C library element in a program library. The ELDE functionality is part of the BLSSERV subsystem.
The security component BLSSEC
If a “secure system” is required, the security component BLSSEC can be optionally loaded as a subsystem. This causes the Binder Loader Starter system to run a security check before each object is loaded by DBL or ELDE and thus ensures that the object is loaded only if no problems have occurred. Activating the BLSSEC subsystem does, however, reduce the loading efficiency for all load calls to BLS, so this subsystem should normally be unloaded after a successful security check.
The following table shows which modules are processed by the individual functional units.The
figure 1 shows the interaction between these functional units.
System module | |||||
Type of module | BINDER | DBL | TSOSLNK | ELDE | BLSSEC |
Link and load module (LLM) | yes | yes | no | no | yes |
Link and load module in | yes | yes | no | no | yes |
Object module (OM) | yes | yes | yes | no | yes |
Prelinked module | yes | yes | yes | no | yes |
Program (load module) | no | no | yes | yes | yes |
The linkage editors BINDER and TSOSLNK are utility routines. The dynamic binder loader DBL and the static loader ELDE, in contrast, belong to the subsystem BLSSERV which is a component of the BS2000 Control System. They offer their functions via BS2000 commands and via program interfaces. Execution of a loaded program is initiated by a starter program which is a component of the BLSSERV subsystem and is not visible to the user.