4

I've been reading about linking and loading (one of OS topics, not specific to any language), and I've come across this term "Load Module" without any previous reference to it. From what I understand about the way it has been used, it seems like a final product after compilation and linking (an executable perhaps). I tried google, the term seems to be related to COBOL language and no specification that it is specific to COBOL, so, I'm posting this here to know if any of you guys heard this before and enlighten me about it.

piet.t
  • 11,718
  • 21
  • 43
  • 52
pasha
  • 2,035
  • 20
  • 34
  • See also https://en.wikipedia.org/wiki/Loader_(computing)#OS.2F360_.26_Derivatives – xmojmr Jul 26 '17 at 06:14
  • 1
    You are cortrect. Its a program/programs that are ready to be run. Typically it is the product of linker. It is notr Cobol specific, the programs could be Cobol, Fortran, C, .... programs. See http://www.dictionary.com/browse/load-module – Bruce Martin Jul 26 '17 at 06:39

1 Answers1

7

As per IBM's "MVS Program Management: User's Guide and Reference" a load module is

An executable program stored in a partitioned data set program library.

So you are right that it's the final output of the Binder (formerly known as Linkage Editor) that can be executed by z/OS.

Some additional remarks:

  • The term is not limited to COBOL, the Binder-input are object-modules that can be generated by many of the available compilers on z/OS, i.e. C,COBOL,PL/I, compiled REXX or even Assembler (where there is no compiler but an assembler).
  • When strictly following the definition it is important to note the term "partitioned data set program library" in the above quote. An executable program stored in a PDSE or z/OS Unix file is called a "program object". But you will often see "load module" used for those as well since many people just use the old term they know and don't bother to make a difference (like using "Linkage Editor" when talking about the Binder)
piet.t
  • 11,718
  • 21
  • 43
  • 52
  • 2
    To amplify slightly, z/OS has several different formats of executable programs, and load modules are the oldest. The name comes from the LOAD system service that's the most common way to read executables into memory. Load modules have the disadvantage that certain information about the executable is stored in the PDS directory itself, rather than in the data that makes up the executable program. This makes it cumbersome to move them around, but sophisticated programs can get information about a program before actually loading it by reading the PDS directory entry (it's size, for instance). – Valerie R Jul 28 '17 at 16:11