CSECT

CSECTとは、コントロール・セクション(Control Section)のことで、実行可能モジュールであるロード・モジュールを構成する、プログラム・モジュールのことです。規模が大きいプログラムは、機能などに対応して複数のモジュールに分割して開発されたりします。それぞれのモジュールがCSECTになり、モジュールに付ける名前がCSECT名です。CSECTそのものを直接意識するのはアセンブラー言語ですが、COBOLではPROGRAM-IDに相当します(IDENTIFICATION DIVISIONのPROGRAM-ID nameからEND PROGRAM nameまでに定義した命令とデータの部分、ただしLINKAGE SECTIONの部分を除く)

通常プログラムは、区分データセットのメンバーとして登録されますが、1つのメンバーが1つのCSECTしか持たなければ、メンバー名とCSECT名は、たいていの場合同じになります。COBOL言語などでも、記述したプログラムコードは、コンパイラーによってCSECTに変換されます。PROGRAM-IDで指定した名前がそのままCSECT名になりますが、8文字を超えるロングネームの場合は、コンパイラーが8文字のCSECT名を生成します。

CSECTは、ロード・モジュールにおいては、機械命令とデータが格納された部分になります。CSECTの部分は、ロード・モジュールを構成するレコードの1つである、TXT(テキスト)と呼ばれるレコードに格納されており、区分データセットから読み込まれてユーザー・リージョン上に展開され、プログラムとしての実行が開始されます。