Archive for 'APIで学ぶMVSの機能' Category
07.1非同期事象の待ち合わせと通知(WAITとPOST)
システムプログラムでは「いつ来るかわからない」「いつ終わるかわからない」と言った事象(イベント)を待ち合わせることは多々あります。メインフレームでもイベントが発生・終了するまで、来たか?来たか?、終わったか?終わったか? […]
06.2CSECT名でプログラムのローディングを行う
LOADマクロでのローディングや、LINKマクロでの呼び出し時にEP/EPLOCで指定できる名前はロードモジュールのメンバー名です。CSECT名でのローディングや呼び出しはできません。動的構造のプログラムでCSECT名を […]
06.1プログラムのローディングと実行(LOAD,LINKとXCTL)
プログラムのローディングと実行は、一般のプログラムでも身近な機能です。規模の大きなプログラムでは複数のモジュールに分割して開発・管理・保守が行われます。複数のモジュールで構成されるプログラムの処理に関するMVSの機能を解 […]
05.2ダンプの書き出しとトレースの記録(SNAPとGTRACE)
プログラム(リージョン)のダンプを取得するにはDUMPオプション指定のABENDマクロを発行する方法があります。しかしABENDマクロではプログラムの実行はそこで終わってしまいます。プログラムを終わらせずにダンプを取るに […]
05.1プログラムをABENDさせる(ABEND)
実行中にデータやパラメーターの誤りを見つけた時、自ら論理の矛盾やデータの不整合がわかった時、プログラム自ら途中で処理を止めて実行を中止することがあります。原因や理由が明確ならばメッセージやログデータによってそれを指摘した […]
02.2インターバルタイマー(STIMER)
時間に関する機能には、日付と時刻の取得の他にインターバルタイマーがあります。間隔計時機構とも呼ばれ、一定時間おきに行う処理を作る際や一定時間プログラムの実行を止める場合などに利用されます。 10秒間プログラムの実行を停止 […]
04.1コンソールまたはSYSLOGにメッセージを出す(WTOとWTL)
プログラムで起きていることを状況に応じてメッセージで伝えることは重要です。特にエラーが起きてオペレーターの操作や判断を必要する場合、適切なメッセージはシステムの運用面で大きな利益をもたらします。どのような時にどのようなメ […]
03.2資源の逐次化その2(SETLOCKとCS,CDS命令)
システムリソースの逐次化 —-+—-1—-+—-2—-+—-3—-+—-4—-+—-5—-+—-6—-+—-7– SETLOCK OBTAIN, OBTAIN L […]
03.1資源の逐次化(排他制御)を行う(ENQとDEQ)
MVSではあらゆるデータを資源(Resource)として扱うことができます。CPU自身、1つのDASDボリューム、1つのデータセット、データセット内の1つのレコード、実行するプログラム・モジュール、仮想記憶上の領域、など […]
02.1日付と時刻を得る(TIMEとTOD時計)
現在の日付と時刻を得る —-+—-1—-+—-2—-+—-3—-+—-4—-+—-5—-+—-6—-+—-7– TIME DEC GET CURRENT DATE […]
01.1仮想記憶域を獲得する(GETMAINとFREEMAIN)
プログラムで使うデータ領域には、あらかじめその大きさを固定できないものもあります。例えばデータセットを読み込む処理で、レコードを読み込む領域の大きさを実際のデータセットのレコード長に合わせるような場合です。考え得る最大の […]
.APIとマクロ命令
実用的なプログラムやシステムプログラム、OSの出口ルーチンなどを作っていく場合、避けて通れないのがMVSの各種プログラミングサービスの利用です。プログラムに必要と思われるさまざまな機能がAPIで提供されています。プログラ […]