2017-07-26 100 views
3

我一直在阅读关于链接和加载(操作系统的主题之一,不是特定于任何语言),我也遇到过这个术语“加载模块”,而没有任何先前的参考。从我所了解的使用方式来看,它似乎是编译和链接后的最终产品(可能是可执行文件)。我试过谷歌,这个词似乎与COBOL语言有关,并没有说明它是特定于COBOL的,所以,我在这里发布这个信息是为了知道你们之前是否有任何人听说过这个,并且给我启发了它。什么是“加载模块”?

+0

另请参阅https://en.wikipedia.org/wiki/Loader_(computing)#OS.2F360_.26_Derivatives – xmojmr

+1

你是cortrect。它是一个可以运行的程序。通常它是连接器的产物。 Cobol是特定的,程序可以是Cobol,Fortran,C ....程序。请参见http://www.dictionary.com/browse/load-module –

回答

6

按照IBM的“MVS计划管理:用户指南和参考”加载模块是

存储在分区数据集程序库中的可执行程序。

所以你是对的,它是可以由z/OS执行的Binder(以前称为连接编辑器)的最终输出。

一些补充说明:

  • 该术语不限于COBOL,粘合剂输入是可以由许多在z/OS的可用的编译器来生成对象的模块,即,C,COBOL, PL/I,编译REXX甚至编译器(没有编译器,只有汇编器)。
  • 严格遵循定义时,重要的是要注意上述引用中的术语“分区数据集程序库”。存储在PDSE或z/OS Unix文件中的可执行程序称为“程序对象”。但是你会经常看到用于这些的“加载模块”,因为许多人只是使用他们知道的旧术语,并且不打扰有所作为(如在谈论活页夹时使用“联动编辑器”)
+1

要稍微放大,z/OS具有多种不同格式的可执行程序,并且加载模块最早。该名称来自LOAD系统服务,这是将可执行文件读入内存的最常见方式。加载模块的缺点是有关可执行文件的某些信息存储在PDS目录本身中,而不是构成可执行程序的数据中。这使得移动它们变得很麻烦,但是复杂的程序可以在实际加载它之前通过读取PDS目录条目(例如它的大小)来获取有关程序的信息。 –