運用エンジニアのためのMVS入門

第9回 IPLとターミネーション①

概要

メインフレームはあなたの企業を始め、多くの企業の基幹システムを支えています。とりわけ金融、製造、公共など、日本の基幹産業で今日も働いています。新しいニュースは少ないものの、まさに業務を確実に処理するための大きな存在です。世の中にはあまり知られていませんが、オープン系をいまだに超えている技術、ノウハウが生きている分野です。黙って国を支えているITといっても過言ではないと思います。
そんなシステムを品質よく、安定して運用するためには、業務運用マニュアルや先輩・上司からの言い伝えだけでなく、確かな知識が必要です。
ここではメインフレームの代表的OSであるMVS(z/OS)の基本的なしくみについて、運用部門に携わる新人エンジニアに必要なものを解説します。

パソコンを使う場合、電源ONからシャットダウンして電源をOFFにするところまで、毎日のように行いますが、メインフレームでも同じです。ただ基幹業務で使うメインフレームの場合、毎日行っているところは少なく、月に一回あるいは年に数回、など止めずに運用を行っている企業が多くなっています。
またSEやプログラマーの人の中には、IPLなどやり方どころか見たこともない、という人も少なくありません。でもシステム運用に携わるならば、単なるオペレーションの方法だけでなく、実際に何が行われているのか、を理解しておくと応用が拡がります。
 

IPL

IPLはInitial Program Loadのことで、OSを起動するためのプログラムをメモリーに読み込み、CPUによって実行させることです。現実にはプロセッサーやI/Oデバイスの電源をONにして、ハードウェアの準備を行うところから、OSを立ち上げ、業務で使用する各種のソフトウェア(オンラインやデータベース・システムなど)を開始する、一連の手順をひっくるめて、IPLと呼ぶことも多いのですが、本来はOSを開始するための専用のプログラムを実行させることを言います。
 
メーカーや機種によって異なりますが、プロセッサーを制御するシステム・コンソール(ハードウェア管理コンソール、SVPコンソールとも呼ばれる)から、LOAD操作によってIPLは開始されます。LOAD(LOAD CLEAR)と呼ばれる専用のコマンドやパネル操作によって、OSのSYSRESボリュームの装置番号を指定することで、そのボリュームからIPLプログラムが読み込まれて、実行が開始されます。IPLプログラムはDASDボリュームの先頭トラック(トラック0)に格納される決まりになっていて、ボリュームのイニシャライズ時、あるいはリストアー時に書き込まれます。どのボリュームがSYSRESボリュームかは、D U,DASD,ONLINEコマンドによって知ることができます。STATUSが’S’と表示されているボリュームがSYSRESボリュームです。
 

IPLプログラム

IPL用のプログラムは、DASDボリューム上に、3つのレコードに分かれて書き込まれています。先頭トラック(シリンダー0、トラック0)の先頭レコード、2番目のレコード、および4番目のレコードです。(3番目のレコードはボリュームラベルとして使用される)
先頭の2つのレコードはブートストラップと呼ばれ、IPLプログラムをメモリーに読み込むためのチャネルプログラム(I/O専用のプログラム)で、IPLプログラムそのものは4番目のレコードとして格納されています。
 
IPLプログラムの主な役割は、リアルメモリーとバーチャルメモリーの初期化、I/O構成モジュール(IODF)、OSニュークリアス・モジュールのローディング、などで、OS自身の初期設定プログラムの実行に必要なシステム環境を整えます。
 

NIPプログラム

NIPはNucleus Initialization Programのことで、クロックの初期設定、SVCルーチンの組み込みや、ページデータセットの初期設定、各種のシステム空間の生成など、MVS自身の初期設定処理を行います。この時に使われるのがSYS1.PARMLIBデータセット内にある各種の初期設定パラメーターです。ここで定義されたパラメーターに従ってOSとしてのシステム環境を作り上げていきます。
 
OSがどのパラメーターを使うかを、オペレーターに問い合わせるのが、「IEA101A SPECIFY SYSTEM PARAMETERS」メッセージです。オペレーターはこのメッセージに使用するIPLパラメーターを応答することで、NIPの処理が行われていきます。NIPコンソール(マスターコンソール)にこのメッセージが出れば、IPLのフェーズはNIPに移ったことを示します。NIPからのメッセージや応答の操作は、システム・コンソールからNIPコンソールに移ります。
 

マスタースケジューラー初期設定プログラム

NIPが終了するとマスタースケジューラーが初期設定されます。PARMLIBに設定されたパラメーターによってコンソールが再設定され、IEACMDxx(MVSのみ)やCOMMNDxxに指定したコマンドの自動実行が行われます。NIPコンソール以外のコンソールもアクティブになります。SMFやSYSLOGの初期設定、各種サブシステムの初期設定なども、マスタースケジューラー初期設定プログラムによって行われます。LLAやVLFなどMVSが直接起動するSTC空間は、このフェーズで初期設定されるMSTRサブシステムによって開始されます。そしてマスターJCL(PARMLIB/MSTJCLxx)で定義された、マスタースケジューラーを開始します。プライマリーサブシステムであるJES2もMSTRサブシステムによって開始されます。
 
ここまでが終了して、MVSの一連の初期設定処理が完了します。
 

JES2初期設定

MSTRサブシステムによって開始されたJES2も初期設定が行われます。ここからは普段の運用操作でなじみ深いものでしょうから詳細は省きます。ポイントはスプールをクリアーするCOLDスタートを行うのか、前回JES2終了時のスプール内容をキープするWARMスタートを行うかです。特に障害の発生などによってシステム運用中にダウンした後の再IPLでは、よほど特別な事情がない限りWARMスタートです。
 
JES2の初期設定処理が終了すれば、業務運用で利用する各種のミドルウェア製品や、アプリケーション・プログラムの実行を開始できるようになります。
 
 
 
MVSではバージョンによって自動開始されるシステム空間が増減したり、各フェーズにおけるこまかな動作が変わりますが、システムの起動フェーズの基本は同じです。流れとしては、(電源ONなどのハードウェアの準備)→ IPL → NIP → マスタースケジューラー → JES2、と初期設定されると理解して下さい。現在では多くの企業が自動IPLを行っているので、操作を開始したら一気にJES2の起動まで完了し、さらに業務用ソフトの起動までも行われてしまいます。どこで何が行われるかを意識する必要がなくなってしまっていますが、何らかの理由でIPL処理がエラーで止まってしまうような時には、これらの初期設定処理のフェーズなども理解しておくと、対応のヒントに繋がります。興味がある方はSYSLOGを見るといいでしょう。IPL開始からJES2起動完了ぐらいまでを参照します。IPLや初期設定中のメッセージの意味をマニュアルで確認すると理解が深まります。またIPLや初期設定処理に関連するマニュアルには、「z/OS MVS 初期設定およびチューニングガイド」、「z/OS MVS 計画:操作」、「z/OS MVS システムコマンド」など。MSPでは「操作手引書」、VOS3では「システム操作-JSS3編-」、「センタ運営-JSS3-解説編」などがあります。
 
次回はシステムのターミネーションについてお話しします。

連載一覧

コメント

筆者紹介

株式会社アルテシード

代表取締役 神居 俊哉(かみい としや)

http://www.arteceed.com
ビーコンITにて約20年にわたり、独SoftwareAG社のTPモニター・ソフトウェア製品などのサポートや同製品の富士通、日立OSへのポーティングのためのシステムプログラム開発などを行ってきた。現在はメインフレーム・コンピュータに関する技術スキルを後進に伝え、基礎知識や実践的な技術を広めることで企業の情報システムを支えるべく、株式会社アルテシードを設立。併せて、メインフレーム・コンピュータ技術情報サイト“「メインフレーム・コンピュータ」で遊ぼう”(http://www.arteceed.net/
を主宰し、z/OSやMSP、VOS3など代表的なメインフレーム・システムのコミュニティ活動を展開開始。基本スキルから高度なプログラミング技術の解説、サンプルの提供、ならびに関連する各種の技術情報の交換なども行っている。

メインフレームでは約20年ぶりの和書、「メインフレーム実践ハンドブック」を3月にリックテレコム社より刊行。

バックナンバー