Understanding Language Environment library routines

Language Environment library routines are divided into two categories: resident routines and dynamic routines. The resident routines are linked with the application and include such things as initialization/termination routines and pointers to callable services. The dynamic routines are not part of the application and are dynamically loaded during run time.

The way Language Environment code is packaged keeps the size of application executable programs small. When maintaining dynamic library code, you need not relink-edit the application code except under special circumstances, such as when you use an earlier version of code.

The linkage editor converts an object module into an executable program and stores it in a library. The executable program can then be run from that library at any time. The link-edit process combines output from compilers, language translators, link-edit programs and control statements to produce an executable program (load module or program object) and stores it in a library (PDS, PDSE, or HFS). The executable program can then be run from that library. Either the program management binder or linkage editor can be used to perform the link-edit process. All of the services of the linkage editor can be performed by the binder. In addition, the binder provides additional functionality and usability improvements. See z/OS MVS Program Management: User's Guide and Reference and z/OS MVS Program Management: Advanced Facilities for a complete discussion of services to create, load, modify, list, read, transport and copy executable programs.