IBM Power
IBM Powerは、IBM iの稼働するプラットフォームである。IBM Powerプロセッサをベースとしたサーバー製品ファミリーであり、オペレーティング・システムとしてIBM AIX、IBM i、Linuxが稼働する。
IBM Powerは、最も要求の厳しいワークロードにも対応できる拡張性とパフォーマンスで評価されている。柔軟性に優れた仮想化と管理機能、高度な独立性と統合スタックによるセキュリティを提供する。14年連続でトップクラスの信頼性評価を獲得しており、ビジネスにおけるTCOの大幅な削減を実現する。
本稿の執筆時点では、2021年に発売されたPower10モデルが最新となっている(図表1)。

オブジェクト
「オブジェクト」と聞いて、プログラミング言語のJavaを思い浮かべる人は多いだろう。
Javaに限らず、オブジェクト指向プログラミングの世界では、データ(属性)と機能(手続き)をひとかたまりにした実体のことを「オブジェクト」と呼んでおり、定義されたコンストラクタを通じて、決められたとおりに、決められた属性を持ってしか作成できないようになっている。
一見するとWindowsもオブジェクト指向のように見えるが、名前の一部(拡張子)を識別し、それにより表示されるアイコンや起動されるプログラムを結び付けているにすぎない。そのため、テキストファイルの拡張子を.exeに変えるだけで実行ファイルになる、ということが起きる。このメカニズムは、Windowsでウイルスを実行させる原理の1つである。
IBM iにおけるオブジェクトとは、記憶域に存在する (スペースを占める) 名前付きの単位であり、オブジェクトごとにオブジェクト・タイプを1つ指定して作成される(オブジェクト・タイプの変更は不可能である)。
オブジェクト・タイプの例として、データベース・テーブルと同義の物理ファイル(*FILE、属性はPF)、RPG、COBOLなどのコンパイルしたプログラム・モジュール(*PGM)、などがある。各オブジェクトはオブジェクト・タイプごとに用意されているコマンド(メソッド)を通して操作される。この「オブジェクトの種類を変更できない」というメカニズムが、「自分で復元した覚えもないようなプログラムがいつのまにか実行されている」ということを防いでいる。
IBM iのオブジェクトは「オブジェクト指向のOS」を具現化している要素であり、使いやすさとセキュリティという相反する要件を実現する仕組みである。IBM iの前身であるSystem/38のOS開発時点から、時代を先取りした設計に基づいて実現している(図表2)。

オブジェクト・タイプ
オブジェクトにはさまざまな種類があり、これをオブジェクト・タイプと呼ぶ。IBM i 上で、他のオブジェクトと区別しうる最小限の項目は、オブジェクト名とオブジェクト・タイプであり、オブジェクト・タイプに応じて特定の機能の誤った使用を防止することにより、 保全性を維持している。
たとえば オブジェクト名「OBJ1」、オブジェクト・タイプ「*FILE」と オブジェクト名「OBJ1」、オブジェクト・タイプ「*PGM」というオブジェクトを単一のライブラリー内に作成することが可能である。だが、オブジェクト名とオブジェクト・タイプの両方が同一の複数のオブジェクトを同一ライブラリー内に作成することはできない。(オブジェクト名「OBJ1」、オブジェクト・タイプ「*FILE」のオブジェクトを別のライブラリーに作成することは可能)。
プログラムを実行するCALLコマンドを実行する際は必ず、オブジェクト・タイプ「*PGM」を指定する必要がある。上記の例ではOBJ1というオブジェクト名が複数存在しているが、CALLコマンドで実行できるのはオブジェクト・タイプ「*PGM」だけである。
ライブラリー
ライブラリーはオブジェクトの一種であり、関連するオブジェクトをグループ化し、それらのオブジェクトの使用時に名前で見つけられるようにするためのものである。
つまり、複数のオブジェクトを束ねておく登録簿のようなものであり、UNIXのディレクトリやWindowsのフォルダの概念に近い。
ただし、ライブラリーの中に別のライブラリーを作成することはできない。IBM i(Db2 for i) でSQLを使用する際には、ライブラリーはスキーマ、コレクションとして使用される(図表3)。

ジョブ
ジョブとは、システム上で実行される作業の単位であり、WindowsのタスクやLinuxのプロセスに相当するものである。それぞれのジョブはシステム内で固有の名前を持ち、ジョブ名と実行ユーザーとジョブ番号によって一意性が保たれる(ジョブ番号はOSの実行管理機能によりジョブ投入時に決定される)。
システム・ジョブを除くすべてのジョブは、サブシステムというあらかじめ定義された作業空間の中で実行される。各ジョブはそれぞれ属性を有しており、その属性によってシステム上の作業の実行を制御する方法が提供される。同じような作業を実行するジョブであっても個別に実行優先順位を変更したり、ジョブごとにログの出力先を変更が容易に行える(図表4)。

サブシステム
サブシステムとは、作業が処理されるシステム上の場所であり、システムがワークフローとリソース使用を調整するために使用する事前定義された操作環境を指す。
各サブシステムは、固有の操作を実行するように事前に定義することができる。たとえば、あるサブシステムは対話式ジョブ(いわゆるオンライン業務)だけを処理し、他のサブシステムはバッチ・ジョブだけを処理するように設定できる。また、部門や地域あるいは国・言語などの特性に合わせてサブシステムを分割することも可能である。
サブシステムの稼働時の属性は、サブシステム記述と呼ばれるオブジェクトに定義し、そのサブシステム内で共用するメモリ空間(プール)やジョブの並列度(ジョブ待ち行列)などを必要に応じて設定、変更する。
なお、物理CPUを複数個割り当てている大規模なシステムの場合、特定のサブシステム内で実行されるジョブ群が使用できるCPUの個数を制限することもでき(ワークロード・キャッピング)、システム上の負荷が一極に集中して業務の一部が停滞することを抑制し、柔軟なワークロード管理を実現することができる。
CLコマンド
CLコマンドとは、オペレーティング・システムであるIBM iとの基本インターフェースである制御言語(Control Language、CL)における単一のステートメントのことである。Windowsのコマンドプロンプトで打ち込む命令や、Linuxのシェル画面を経由する文字ベースの指示などと類推されるものであるが、その利便性は比較にならない。
CLコマンド名は、動詞(動作)および動作の対象(対象となるオブジェクト)を識別する名詞または句を組み合わせたものとなっており、初心者であっても直感的にコマンド名を想像できる形式となっている。
また、コマンド操作処理が統一されており、PF1キーによるヘルプメッセージ出力や、PF4キーによるプロンプト表示など、学習および習得が容易になっている。
フィルタや出力オプションなどの利用頻度の高いコマンド処理については、コマンド自体にあらかじめ統合されており、プロンプト表示において追加のパラメータを指定することが可能になっている。これによってパイプ処理やgrepなどでユーザー自身がコマンド全体を入力する手間を極力なくしている(図表5)。

ACS
ACSは「IBM i Access Client Solutions」の略称であり、Linux、Mac、Windowsなどの各クライアント端末からIBM iに対して接続をするためのソフトウェアである。
Javaをサポートするほとんどのオペレーティング・システムで実行される、プラットフォームに依存しないJavaベースのインターフェースを提供する。
基本的なパッケージ以外にWindows、Linuxなどの各プラットフォーム向けの追加パッケージが存在しており、Db2 for iに接続するためのJDBC機能、IBM iシステムオブジェクト向けのプログラムツールキット、TSL/SSL接続のための追加機能パッケージが用意されている(図表6)。

また、ACS以前のエミュレーター・ソフトウェアとしては、IBM i Access for Windows(IAW)などが使用されていた。
Navigator for i
IBM Navigator for iは、IBM iを管理するための主要タスクを実行できるWebコンソール・インターフェースである。
IBM Navigator for iでは、 System iナビゲーターWindows クライアント・アプリケーションで利用できた大半のタスクがサポートされている。
Windowsクライアント・アプリケーションと異なり、機能を使用するためにクライアント端末には何もインストールする必要はない。
IBM Navigator for iはACSのメニューから起動する方法のほか、クライアント端末からブラウザで http://system
Name:2001 を指定してアクセスできる(図表7)。

PTF
PTF(Program Temporary Fix)は、IBM iのOSやライセンスプログラムの不具合を修正するパッケージである。
個別の問題を修正する「個別PTF」と複数の個別PTFがまとめられた「グループPTF」「累積PTF」が存在する。
「グループPTF」は修正分野ごとに「Group Security」「Db2 for IBM i」などいくつかの種類にわかれている。
TR
TR(Technology Refresh)は同一のOSバージョン内でサービス、ハードウェアの機能拡張を提供するものである。
適用することでOSのリリース初期には搭載されていなかった新機能などを使用できるようになる。
TRはPTF(FIX、パッチ)の形式で提供され、OSリリースアップに比べて容易に適用が可能である。
TRのリリースは約半年に1回のペースで行われている。
著者
澤木 陸氏
日本アイ・ビー・エム株式会社
テクノロジー事業本部
IBM Power テクニカルセールス
[i Magazine 2025 Spring号掲載]







