MENU

01 IBM iの歴史 ~ユーザー資産を継承可能とする類まれな実行環境の特質・特徴と変遷  |新・IBM i入門ガイド[基礎知識編]

IBM iは長い歴史をもつ実績豊富な製品だが、実際に触れたことのない人にとっては「LinuxやWindowsではないコンピュータって一体何だろう?」と疑問を持たれる存在かもしれない。

そこで歴史を遡る前に、まずはIBM iという製品について簡単に整理しておくことにする。詳細については、それぞれのトピックを扱った別章をお読みいただきたい。

試しに日本IBMのIBM iのWebサイトを見てみると、以下のような記述が見られる。それをキーとして考えてみたい。

・重要なビジネス・アプリケーさションを支え続ける統合オペレーティング・システム
・変化を続けるニーズに継続的に対応しているオペレーティング・システム
・IBM iの「i」は「統合(integration)」

IBM iの設計意図

・重要なビジネス・アプリケーションを支え続ける統合オペレーティング・システム

IBM iは重要なビジネス・アプリケーションに用いられるものとして、つまり企業や自治体などの組織体の重要なデータを管理し基幹業務を支えることを目的として設計されている。

一般にコンピュータといえばまず連想される、Intel/AMD系列のプロセッサを搭載しLinuxやWindowsを実行するコンピュータは、スーパーコンピュータからクラウドサービス、Microsoft Office、さらにはゲームまで何にでも用いられている。

しかしIBM iは少し異なり専用機(専用OS)と見るのがわかりやすい。もちろん同じ技術的基盤をもつ現代のコンピュータなのでLinuxで会社の仕事はできるし、IBM iでゲームだって(たぶん)できる。

その差はどこに重点を置いているかであり、それはつまりシステム開発における非機能要件に相当すると考えればよい(注1)。

また、一般に営利企業で使われるということは、予算に制約があるということでもある。そこからは、安定して動作し、限られた運用体制でも維持管理が容易であり、自社のための業務アプリケーションが長期間にわたり利用できること、といった特性が導かれる。

オープンソース・ソフトウェアのような急速に進化する分野では、早く改善を取り入れるためにはたとえ変化のための変化でも善だ、という傾向すら見られるが、企業情報システムでは事情が少し異なるはずだ。あくまでも自社ビジネス遂行の観点から、安定すべきところは長期間安定し、変化すべきところは対応できる、というのがIBM iの意図するところである。

IBM iのアーキテクチャ

・変化を続けるニーズに継続的に対応しているオペレーティング・システム
・IBM iの「i」は「統合(integration)」

IBM iはその設計意図を満たすためにどのようなアーキテクチャ(システム構造)をとっているのか。なお、ここでは「アーキテクチャ」という言葉を広い意味で使うことにする(注2)。

昨年(2024年)出版されたばかりの書籍『IBM i 2030:AI・API・クラウドが創る』(下野皓平・菅田丈士著、グローヴィス)では、ビジネスのためのOSという設計思想のもとに提供している代表的な2つの強みとして以下を挙げており、わかりやすいのでこれを取り上げてみる(なお順番は入れ替えている)。

・一度作ったプログラムが動き続ける
・極めて安定した高速なデータベース

一度作ったプログラムが動き続ける

コンピュータの歴史をみると、ハードウェアの進化は非常に速いのに対して、ソフトウェアはいったん作られたプログラムが想定よりもはるかに長く使い続けられる傾向がある。自社ビジネス遂行のための業務アプリケーションに多額の投資をしても、それが新しいハードウェアでは期待通りに動かないのでは困る。現代のコンピュータは程度の差はあれ何らかの階層的な抽象化によってこの問題に対処してはいるが、このような事態は実際に数多く発生してきた。

IBM iは、Technology Independent Machine Interface (TIMI、または単にMI)という概念を中心に据えており、ユーザープログラムには影響が出ない形で、新しいハードウェアや新バージョンのOSに乗り換えてその利点を活用していけるように、非常に注意深く設計されている(図表1)。

図表1 Technology Independent Machine Interface (TIMI、MI)

極めて安定した高速なデータベース

IBM iの設計者たちは、想定顧客が必要とする「重要なビジネス・アプリケーション」とは、技術的にはデータベースを中心とするマルチユーザーのオンライン・トランザクション処理(OLTP)だと認識し、データベースとそれに必要な機能を初めからOSに組み込むことにした。

つまりハードウェアとも一体で開発されるので、その性能面と安定性が非常に優れている。

そしてこのデータベースとOLTPを効率的に実行するために導入されたのが、IBM iの最もユニークな特徴と言われる、単一レベル記憶(Single Level Store、SLS)である(図表2)。

図表2 単一レベル記憶(Single level Store)

IBM iの歴史

IBM iは実際に変化を続けるニーズにどのように継続的に対応してきたのか、という観点でその歴史を見てみたい(図表3)。なお細かい点は、主に参考資料*3に基づいている。

図表3 IBM iの歩みにおける主なトピックス/ハイライト

システム/38の発表(1979年)

米国ミネソタ州にあるIBMロチェスター研究所は、メインフレームよりも小規模で低価格なシステムを担当していた。想定用途は事務処理で、想定顧客は技術的に高度ではないユーザーであった。

そして開発されたシステム/3、システム/32、システム/34とRPG言語は成功を収めたが、その次のシステム/38はそれまでとは一線を画す革新的なシステムとして設計された。初期の苦労はあったが最終的にこの製品系列は成功し、IBM iとして今に至るまで継続しているだけでなく、未だ類似のシステムが見当たらないほどのユニークなものでもある(注3)。

システム/38の設計意図は、急速に進歩するハードウェア技術に取り残されずに顧客のアプリケーション・ソフトへの投資を守ることであり、そこで採用された技術が、特定のハードウェアに依存しないハイレベル・マシン・アーキテクチャだった。

まずMachine Interface(MI)というそのままでは実行できない抽象的な命令セットを定義し、OS(Control Program Facility、CPF)はそれに対して作成することで、物理的なハードウェアと切り離した。MIの仮想アドレス空間は64bitと極めて大きく、IBM S/370をはじめ多くのコンピュータが悩まされたアドレス空間の拡張に伴うソフトウェア互換性の問題を回避できるようになっていた。

一方、実際に動作する物理的なプロセッサ・ハードウェアはInternal MicroProgram Interface(IMPI)プロセッサと呼ばれ、これは48bitのレジスターをもつCISCマシンだった。そしてMIとIMPIのギャップは、低レベルのソフトウェア(HLIC/VLICという2階層のマイクロコード)が埋める形をとった。

また単一レベル記憶という永続的な仮想記憶により、補助記憶域(ディスク)をはじめとする具体的物理的なシステム構成要素は、MIをターゲットとして作られたソフトからは隠されている。そしてIMPIの48bit幅という異例のレジスターはこのSLSのために必要だった。

このハードウェアとソフトウェアを完全に切り離すという基本的な考え方および実装は、今日に至るまでまったく変わっていない。

AS/400の発表(1988年)

1988年6月、先進的なアーキテクチャを備えたSystem/38をベースに、分散処理に優れたSystem/36を取り込む形で、AS/400が発表された。当時IBMロチェスター研究所が目指したのは、1990年代を支える先進的なコンピュータであった。単一レベル記憶や、下位モデルから上位モデルまでの全モデル共通のOSであるOS/400による完全互換性、加えてEOU(Ease Of Use)、すなわち使いやすさを徹底追求したシステムであると紹介された。

『Inside the AS/400 日本語版』(F.G.ソルティス著、日本IBM訳、インフォ・クリエイツ、1998)によると、AS/400は実質的には新型のS/38とも言える存在だった。ハードウェアは新しくなったが、IMPI(48bit)とMI(64bit)の2つのインターフェースは維持され、HMC/VMCの2層構造のマイクロコードもHLIC/VLICとして維持され、その上位に位置するOSもほぼそのまま移植されたうえで改良された。ただし名前はCPFからOS/400になった。さらにその上位に位置する顧客のアプリケーション・プログラムには、もちろん互換性の問題はなかった。

IBM社内の製品系列として孤立していたS/38とは異なり、AS/400はIBMが全社的に推進するSystems Application Architecture(SAA)に準拠するシステムとして開発された。

SAAは、それぞれ独立した組織で開発されたためにあまりにもバラバラなIBMの製品群を、ユーザーから見てある程度一貫して扱えるようにすることが目的だった。よって一社内に閉じてはいるが、相互運用性・オープンネスを進めたと考えることができる(「IBM HeritageHistory The AS/400」)。

オープン化対応(1990年代前半)

1990年代に入ると、UNIXやPCをベースとするクライアント/サーバーシステム、オープン化、そして当時の流行であったダウンサイジングが広まった。

“オープン”という言葉の対義語として、メーカー固有のアーキテクチャを意味する“プロプライエタリ”という言葉がある。プロプライエタリと見做された製品、たとえば数多くの国産オフィス・コンピュータは、テクノロジーの孤立やベンダーロックインを嫌う流れの中で衰退していった。

1990年代のAS/400の経緯は、産まれ持った固有のアーキテクチャを保持しつつ、オープンな環境にいかに対応するかという時代の流れとの戦いにあったと言える。

従来のIBM固有の通信規格であるSNAに加えてオープンな通信規格であるTCP/IPの実装、クライアント/サーバーシステムのサーバーとなるために重要な各種の機能拡張、UNIXやWindowsなどと同様な階層型ファイル・システムを扱えるようにした統合型ファイル・システム(Integrated File System、IFS)の実装や、政府機関での調達に求められた標準規格POSIXへの準拠、などの対応が行われた。

64ビットRISCプロセッサの登場(1990年代後半) 

1995年、将来のパフォーマンス要件が大きく成長することを見越して、従来の48ビットCISCプロセッサから、64ビットRISCプロセッサ(PowerPC)への移行が行われた。

プロセッサの命令セット(ISA)が大きく変わるため、通常であればアプリケーションの互換性が失われるなどの弊害を伴うが、AS/400はその常識を覆し、コンパイル済みの顧客のアプリケーション・プログラム(バイナリー)の互換性を維持した。これはAS/400固有のアーキテクチャによってマシンが仮想化されていたために、新旧テクノロジーの差異をIBM側だけで完全に吸収できたからである。

従来のIMPIプロセッサは全く異なるISAをもつPowerPCプロセッサに置き換わったが、MI(TIMI)が維持されたのでその上位にあるOS(OS/400)と顧客のアプリケーション・プログラムには、互換性の問題はなかった。そしてMIとPowerPCのギャップは、従来のHLIC/VLICに替わって新たにSLICが埋める形をとった。

1990年代には、技術的な進歩に伴いRISCのコンセプトが実証され、各種の独自プロセッサが登場したが、同時にチップの製造には莫大なコストがかかるので長期的に生き残れるメーカーは少ないと予想された。AS/400は独自プロセッサからIBM内外で多くのシステムで採用されるPowerPCに移行することで、性能面での向上とともに将来性を確保したとも言える。

iSeries、System iへの名称変更(2000年代前半)

2000年に、IBMによる全サーバーのブランド名変更に伴いAS/400はeServer iSeriesへと製品名を変えた。この時、長年親しまれたAS/400の名を捨て、インテグレーション(統合)の「i」を冠して新たなスタートを切っている(引き続きAS/400、AS、または単に400などと呼ばれることも多いが、今では i (アイ)の呼称が広まった)(注4)。

ハードウェアの面では、AS/400(iSeries)に搭載されていたビジネス用途向けのPowerPCと、RS/6000(pSeries)に搭載されていた科学技術計算用途向けのPOWER3を統合した共通のプロセッサとしてPOWER4が発表された。プロセッサを含むハードウェア・コンポーネントの共通化が進み、開発費の削減とハードウェア価格の低下をもたらし、そして見た目での区別がつかなくなった。

ソフトウェアの面では、プロセッサ共通化によりPortable Application Solu
tion Environment (PASE)と呼ばれるAIX互換の実行環境が搭載され、UNIXアプリケーションをOS/400に容易に移植できるようになった(注5)。

その後のPowerプロセッサの進化と機能の充実に歩調を合わせるように、2004年にはSystem i5(この時、OSの名称もOS/400からi5/OSに変更)、2006年にはSystem iと、その製品名称も変遷していく。

PowerPCの性能向上によりかつてなかった処理能力をもつ超大型のAS/400が登場することになり、特に大規模顧客には歓迎された。これには仮想化のためのハイパーバイザーとLogical Partition(LPAR)機能が標準搭載され、メインフレームにより近づいた。大型のサーバーのハードウェアを効率よく利用して、運用管理の負荷を減らすために分散配置された小型のサーバーを少数の大型にまとめる、いわゆるサーバー統合にも使われるようになった。

Power SystemsとIBM i(2000年代後半以降)

2008年、ビジネスのニーズに迅速に対応できるIT基盤の構築と、最適化を実現する柔軟なITインフラを構築するために、System iとSystem pの両プラットフォームを統合したPower Systemsが発表された。Power Systems上で稼働するOSであるi5/OSは、この時にIBM iという名称に変更され、POWER6プロセッサをベースとする単一のハードウェア上で、IBM i、AIX、そして急速に発展するLinuxが同時に稼働するマルチプラットフォーム環境が整えられた。

現在RedHat Enterprise Linux(RHEL)は、x86-64、ARM64、IBM ZそしてIBM Power (ppc64le)が横並びで提供されるようになった。これも発展著しいクラウドの領域では、2019年にIBM Cloud上でLPAR環境をIaaSとして提供するPower Virtual Server(PowerVS)がリリースされた。今年2025年にはPower11の市場投入が期待されている。

IBM iは継続して数年おきに新しいバージョンがリリースされている。またTechnology Refresh(TR)の仕組みが導入され、バージョンアップまではしなくとも継続的に新機能を追加できるようになった。高度な高可用性と事業継続性(BCP)のための機能を提供するPowerHAやDb2 Mirror、サイバーセキュリティのニーズに対応するセキュリティの機能強化、モダンなアプリケーション開発のためのデータベースのSQL機能強化、新世代の開発者に馴染みのあるオープンソース・テクノロジーの積極的な取り込みも進んでいる。

しかしその一方で、20年、30年も昔のプログラムをコンパイルのやり直しもせずに最新プロセッサを搭載したサーバーで稼動させることができていることを忘れてはならない。

ハードウェアの呼称として、AS/400、iSeries、System i、Power Systems、OSの呼称としてOS/400、i5/OS、IBM iと時代の流れとともに変遷を重ねているが、System/38時代から受け継ぐ設計思想は不変であり、その結果として、ユーザーの資産を継承可能とする類まれなアプリケーション実行環境となっていることこそ、現在においてもこのマシンが「AS/400」と親しみを込めて呼ばれるゆえんなのかもしれない。

今後

IBMは、ユーザーの意思決定を助けるために、自社製品の将来を示すロードマップを対外的に公表しており、IBM iはおおむねそのロードマップを守って発展して来た実績がある。IBM iの物理的基盤となるPowerプロセッサ/Power Systemサーバーについても同じことが言える。

図表4は、IBM iとそれ以外のシステムの変遷を比較してみたものである(筆者調べ)。

図表4 IBM iとその他システムの変遷の比較

IBM iが常に業界のメジャープレイヤーであるかどうかはともかく、間違いなくサバイバーではある(注6)。技術的には、IBM iがこの先も変化に適用できない理由はないだろう。それを利用する顧客がいて、その顧客の声をIBMが真摯に聞いている限り、IBM iは今後もIBMのロードマップに沿って顧客のビジネスを支え続けると期待できるはずだ。

——————————

注1]『Inside the AS/400 日本語版』(F.G.ソルティス著、日本IBM訳、インフォフォ・クリエイツ)には、典型的なビジネス・アプリケーションの特徴として以下が挙げられている。 初期のRISCプロセッサではこれらを十分満たせないと判断され、それがOS/400をサポートするためのPowerPCの拡張につながったという記載がある。

・同時に多数のユーザーをサポートする。
・アプリケーションロジックよりもOSを実行している時間が長い。
・浮動小数点演算よりも整数演算が重要。
・プログラムに単純ループが少なく分岐が多い。
・補助記憶域(ディスク)へのアクセスが多い。

注2]コンピュータ設計における「アーキテクチャ」の元々の、そして狭義の定義は、ハードウェアとソフトウェアの境界線のことである。これは命令セット・アーキテクチャ(Instruction SetArchitecture: ISA)と呼ばれる。あるISAをサポートするハードウェアをターゲットにソフトウェアを作成すれば、 それは同じISAをサポートする別のハードウェアでも(つまり自社の新型機とか他社の互換機でも)動く。

注3] 『Inside the AS/400 日本語版』(F.G.ソルティス著、日本IBM訳、インフォフォ・クリエイツ)によると、著者のフランク・ソルティス博士は、後にS/38となる革命的なプロポーサルを研究所に提出した1970年1月8日がAS/400の誕生日だとしている。

注4]このブランド統一は、当時のIBM社内でMach1( マックワン。マッハ1、つまり音速)と呼ばれていたのを筆者は記憶して
いる。音速ならぬ製品間の壁を越えるという意図だったのだろう。

注5]『FortressRochester:the inside story of theIBM iSeries』(Soltis, Frank G 著、29th Street Press 刊、2000)によると、元々はPrivate Address SpaceEnvironment であったらしい。このほうが技術的な意味が適切に表現されている。

注6]今生き残っているシステムはすべて変化に適応できたものと捉えることができそうである。IBM ZとWindowsは、膨大なユーザーをもつ特定のハードウェア(ISA)に固定してひたすら拡大発展してきた。UNIX/Linuxはバイナリー互換性ではなくC言語によるソースコード移植性によってハードウェアの変化に追随してきた。興味深いのはサーバー製品ではないがAppleのMacで、今までに3回ものCPU乗り換えに成功している。この技術的な背景はIBM iと同一ではないが、意図は近いものを感じる。

著者
伊藤信明氏

リコージャパン株式会社
デジタルサービス企画本部
PP事業部 SI技術室
基幹システムグループ
情報システム学修士(専門職)

文系四大卒で、新卒日本IBM入社です。2000年代に社会人大学院を修了し(IBM出身の実務系の先生も2人いました)、だいぶ視野が広がったので、もしそういうことに少しでも関心を持つ読者がいてくれればということと、あとは「リコーの人がこれを書いてるけど内容信じていいの?」という至極もっともな疑問に対して多少箔をつけるというのが、本稿執筆の意図です。

[i Magazine 2025 Spring号掲載]

新着