サンプル

MVSでは当初からQSAM、BSAM、BPAM等によるデータセットのアクセスは24ビットモード・プロセッシングが基本でした。ベーシックなI/OメカニズムはCCWも含めMVS/XAの時点で31ビット化されていましたがQSAMなどのアクセス法レベルではMVSがESAになってDFPがDFSMSに統合された時から31ビットモード・プロセッシングが可能になりました。APIのパラメーター(1部を除く)やデータセットのI/Oバッファが16MBラインの上へ配置できるようになったことはプログラムを作成する上でも恩恵が大きいです。しかしながら従来の24ビットモード・インタフェースではMVSとMSPおよびVOS3にはほぼ完全な互換がありましたが、31ビットモード・インタフェースでは各社各様の仕様になっておりAPIの互換はありません。なおMSPでは31ビットモード・インタフェースはサポートされていません。

DCBの大きさ(QSAM)

    MVS/DFP  96バイト(24ビットモードAPI)
    MSP/データ管理  96バイト(24ビットモードAPI)
    VOS3/データ管理  96バイト(24ビットモードAPI)
    XSP/データ管理 100バイト(24ビットモードAPI)
    MVS/DFSMS  96バイト(31ビットモードAPI)
    ※ただしDCB領域は16MBラインの下に置かねばならない
    VOS3/データ管理 104バイト(31ビットモードAPI)
    ※ただしDCB領域は16MBラインの下に置かねばならない

拡張DCB(DCBE)の大きさ(QSAM)

    MVS/DFSMS  56バイト(31ビットモードAPI)
    VOS3/データ管理 なし(不要)

QSAMバッファプールの解放

従来はCLOSEマクロの後でFREEPOOLが必要であったが、DCBEでQSAM I/Oバッファを31ビットにする場合はCLOSEルーチン内で自動的に解放されるため不要となった。FREEPOOLマクロはエンハンスされず24ビットモードのバッファしか解放できないため。(DFSMS/MVS Macro Instructions for Data Sets SC26-4913)

サンプルコード

    MVS/DFSMS

    Sample Code

    MSPでは従来通りのためAMODE=31のプログラムではGET,PUT発行前にAMODEを24に変更しなければならない。EODADも24ビットのまま入ってくるので注意しなければならない。

MVSでは当初からQSAM、BSAM、BPAM等によるデータセットのアクセスは24ビットモード・プロセッシングが基本でした。ベーシックなI/OメカニズムはCCWも含めMVS/XAの時点で31ビット化されていましたがQSAMなどのアクセス法レベルではMVSがESAになってDFPがDFSMSに統合された時から31ビットモード・プロセッシングが可能になりました。APIのパラメーター(1部を除く)やデータセットのI/Oバッファが16MBラインの上へ配置できるようになったことはプログラムを作成する上でも恩恵が大きいです。しかしながら従来の24ビットモード・インタフェースではMVSとMSPおよびVOS3にはほぼ完全な互換がありましたが、31ビットモード・インタフェースでは各社各様の仕様になっておりAPIの互換はありません。なおMSPでは31ビットモード・インタフェースはサポートされていません。