らびっとブログ

趣味で映画、本、政治思想とか時々書きます(^^)/ ご意見はツイッター @rabit_gti まで

メインフレームとは?

大型汎用機とも呼ばれるメインフレーム・コンピュータについて、その範囲と種類、技術的特徴、そして比較を書いてみました。

 

私は外資系IT企業のSEなどを約30年間(メインフレームとオープン系比率は4:6くらい)経験しましたが、世間やネットの話題には以下を感じるためです。

  1. 実はメインフレームの範囲は広くて色々な製品系列も含まれている。
  2. 本当の特徴はハードウェア自体より、基本設計での堅牢性と思う。
  3. コンピューターは適材適所だけど「メインフレームCOBOLでバッチなど時代遅れ」との批判はローカル(日本特有事情)では。

 

 

きっかけは、富士通メインフレーム撤退発表を機会にした、kodukiさんの入門的まとめ記事が面白かったから。知らない人にもわかりやすくオススメです!

zenn.dev

 

私はプログラマー歴は短く詳細は判ってませんが、色々なシステムのインフラ面に触れる機会はあったので、それを交えてIBM系を中心に書いてみたいと思います。

 

メインフレームとは?

①基幹業務用の大型コンピュータです

メインフレーム」を直訳すれば「主枠、主筐体」ですが、多くの事典や辞書では「企業などの基幹業務用の大型コンピュータ」などの説明です。

企業の基幹業務などに利用される大型コンピューター。

IT用語がわかる辞典

 

富士通も同じ内容で、オープン系と比較してます。

メインフレーム ~ Mainframe ~
主に企業の基幹業務などに用いられる大型コンピュータのこと。信頼性・安定性・互換性が特長。オープンシステムとは異なり、独自に設計しているメーカーが多い。(富士通 用語集

 

IBMメインフレームの「メイン」の説明なのか「大型で、特に周辺のコンピュータが接続する主コンピュータ」という説明です。

"Mainframe" defined
The IBM Dictionary Of Computing defines "mainframe" as "a large computer, in particular one to which other computers can be connected so that they can share facilities the mainframe provides (IBM Archives - IBM Mainframes)

 

しかしこれだけだと「現在では企業などの基幹業務にも使われているオープン系サーバーも含めて良いのでは?」とも思えてしまいます。

 

しかーし!メインフレーム」は歴史的用語で「当時の各社大型」を指す言葉なので、オープン系や、非オープン系でも「中型」は含めないのです。

 

(オマケ)

日本では「オープン系」でUnix/Windows系を指しますが、世界的には「オープンシステム」は本来ソース公開のUnix系などを指し、独自仕様OSのWindowsも含める場合には「分散系」と呼ぶのが一般的です。恐らく日本では、MS-DOS時代に各メーカー独自仕様のPCが続いたので「Windowsでメーカー依存が消えた=オープン」な感覚かと思いますが、世界は本来のソフトウェア観点、日本はハードウェア観点、という気もします。

 

②でも実は歴史的用語です

実はメインフレーム」との呼称は後からで、当初は単に「処理装置(プロセッサー)」や「コンピューター」などと呼んでいました。しかし1960~70年頃のミニコンUNIXサーバーの普及後に、徐々に「メインフレーム」という通称(俗称)が使われていきました。

メインフレーム」という呼称は、後から生まれたもので、当時のコンピュータは全て大型だったが、その後の小型コンピュータに対して「汎用大型コンピュータ」「大型汎用機」と区分され、「メインフレーム」という通称が生まれた。(IT用語辞典 e-words

 

メインフレーム(mainframe)コンピュータは歴史的な用語で、1960年代以降、
企業、大学、研究所等の組織のあらゆる情報処理を、科学技術計算も事務計算
も一手に引き受けていた汎用コンピュータのことをいう。(小柳研究室

 

例えばIBMは今では1952年の IBM 701 以降を「メインフレーム」と呼んでいますが、当時の発表レターやマニュアルなどには「メインフレーム」との言葉はありません。

www.ibm.com

 

ちょうど、日本の明治時代に「洋服」が普及すると「和服」の用語(分類)が生まれたり、RISC登場で従来のCPUをCISCと呼ぶ分類ができて、技術的な差異が消えた今でも「RISCMIPS, SPARC, Powerなどの総称」との歴史的用語で残っているのと似ていますね。

 

なので、競合比較やアポロ計画までの説明もさすがなコメディ漫画に突っ込んで野暮の極みですが、正確には発表当時には「メインフレーム」との言葉は無かったはずですね。

(中略)

トニカクカワイイ」(畑健次郎)より

 

③だから色々な種類を含みます

では「メインフレーム」には現在どんな種類(アーキテクチャ)があるのでしょうか。

 

大別すると多数派IBM系(IBM富士通・日立)と、全くアーキテクチャの異なる少数派の非IBM系(ユニシスNEC)があり、それぞれ長い歴史があります

 

過去を含めた各メーカーは以下で一覧できます(注:スマホなどモバイルでは表示されません)

ja.wikipedia.org

 

④日本の「メインフレーム=汎用機」はちょっと変

ここで「メインフレーム」の範囲の話に戻りますが、日本では何故か「メインフレームはSystem/360から始まり、汎用機と同じ」との定義が幅広く見られます。

メインフレーム - 誕生と発展の歴史
1964年にIBM社からシステム/360が発表され,コンピュータの第3世代が始まった.(中略)事務計算,科学技術計算を始めとするすべての応用分野をカバーする「汎用コンピュータ」が実現され,汎用コンピュータは「メインフレーム」とも呼ばれた.(コンピュータ博物館

 

メインフレームとは
基幹システムなどに用いられる大型コンピュータシステムのこと。商用メインフレームのベースとなったのは「IBM System/360」。(ITトレンドのIT用語集

 

IBM社のSystem/360シリーズが1964年に発表された。これは種々の多くのアプリケーションを1台で集中実行可能な汎用コンピュータで,現在のメインフレームの原型と言える。(日立製作所

 

メインフレーム・コンピューターは、主に企業の基幹業務処理や大学や研究機関における科学技術計算処理などに利用されてきた「大型汎用機」あるいは単に「汎用機」とも呼ばれる大規模なコンピュータ・システムです。(「メインフレーム・コンピューター」で遊ぼう

 

現在のUNIXサーバーやPCも「汎用」ですが、ここで言う「汎用機」はSystem/360以前の「専用機」との対比語で、つまり同一メーカー内でも商用計算(10進演算)用と科学技術計算(浮動小数点演算)用に分かれてソフトウェアの互換性が無かった「専用機」と対比した「汎用機」です。

 

初期PCで言えば「CPUの8086(10進演算)に、コプロセッサの8087(浮動小数点演算)を追加すれば汎用に使える」みたいなものですね。

 

しかしSystem/360以前のUNIVAC I や IBM 701 なども「企業の基幹業務用」の商用コンピュータなので、日本に多い「メインフレーム=汎用機」の説明は不正確に思えます。

 

以下は想像ですが、当時の日本の通産省や業界はIBM対抗が国策で、仮想敵がSystem/360(とその子孫)だった影響にも思えます。また「第3世代」など半導体視点の分類が非常に多いのも日本の特殊性で、少しハードウェア偏重にも思えます。

 

似た例に「PC/AT」があります。世界的にはPCもソフトウェアも周辺機器も、ユーザー(ソフトウェア)から見た互換性の表記として「IBM PC互換 (IBM PC Compatible)」が一般的ですが、日本では今も「PC/AT互換機」の表現に拘ります。まぁ日本ではIBM PC知名度が低い、ライバルの社名は避けたい、当時はATバスが多くDOS/V前提もWindows表記も「PC/AT互換機」だった、などもありますが、これも日本市場の特殊性で、世界よりもハードウェア偏重にも思えます。

 

現役だけでも色んなメインフレーム

それでは現在の代表的なメインフレーム系列を見ていきましょう。

IBM zシリーズ

トップバッターはやはりこれ。1964年に大ヒットしたSystem/360の子孫で以後の世界トップシェア。日本のメガバンクでは「赤い銀行」や「青い銀行」が使用してます。歴史は以下のサイトがおすすめです。

www.ibm.com

 

富士通GSシリーズ(撤退予定を発表済)

富士通IBM互換路線(いわゆるOS互換)で国内首位です。

 

しかし今回メインフレーム撤退を発表し、ロードマップの図にも「2030年度 販売終息、2035年度 保守終了」と書かれています。

www.fujitsu.com

 

なお「保守終了」と言っても、実際には大手各社は個別見積の延長保守で更に延長できる場合が多いのですが、やはりリスクも考えればユーザーは標準保守終了以前の移行完了が無難でしょう。

 

富士通メインフレームのマスターコンソールでIBMのMVS系OSの表示コマンド("D U,DASD,,123,10" など)がそのまま使えて「本当にそっくり」と思いました(当たり前ですが)。

 

富士通メインフレームは型破りで天才肌の池田敏雄氏の功績が絶大と言われています。

www.fujitsu.com

 

また3代目社長の山本卓眞氏は旧日本陸軍の特攻隊生き残りで、部下の社員を「兵」と呼び、富士通のモーレツ文化を築きました。 

 

なお富士通はコンピュータ専業のためか対IBM全面戦争路線で、IBMスピンアウトのアムダールへの支援、Sun提携、UNIX戦争でのUI陣営、PCでのEISA・NT陣営などもありました。

xtech.nikkei.com

 

更に1980年代頃まではメインフレーム筐体の側面パネルの色も、富士通は赤、IBMは青と、マシンルーム内で勢力分布が一目で判りました(デフォルトの色指定が各社のコーポレートカラーのため)。

 

日立製作所 AP8000(ハードウェア撤退済)

日立もIBM互換路線ですがIBM協調派IBMから技術提供を受けましたが、2017年にはメインフレームのハードウェア製造からは撤退して後継機はIBMメインフレームをベースに独自OSのVOS3を搭載する、と発表しました。

www.hitachi.co.jp

 

日立メインフレームの歴史は以下サイトの「第十五回(2009年8月号) 世界一のコンピュータ製品をめざして」でも触れられていて、I/Oの重要性強調などがメインフレームらしさを感じます。

www.hitachihyoron.com

 

ユニシス ClearPath

ユニシスは日本ではディズニーランドのエレクトリカルパレードのスポンサーで有名ですね。

 

しかし世界的には歴史ある非IBMメインフレームの流れを汲み、大規模用のOS2200モデル(旧UNIVAC・スペリー系)と、中規模用のMCPモデル(旧バローズ系)があり、日本ではBIPROGY(旧日本ユニシス)が提携販売しています。

pr.biprogy.com

 

日本の金融機関も採用していますが、2015年以降は新製品の発表が見当たらないような.....

pr.biprogy.com

 

NEC ACOSシリーズ

国産唯一の非IBM系のNECも長い歴史を持ちます。

 

特に大規模向けのACOS-6系は、祖先はGEのGCOSで、なんとバイトマシンではなくワードマシンです。当時は世界最大の電機メーカーのGEが、後発のIBMの前にメインフレーム撤退して業界に衝撃を与えましたが、その子孫がGEからハネウェル経由でNECに受け継がれています。

 

過去に某金融機関のマシンルームで見たメインフレーム筐体には「NEC」と「Honeywell」の両方のロゴパネルが付けられたダブルブランドで歴史を見た想いでした。

 

しかし!扱えるビットの単位が可変(!)で、9ビット単位の大量データをIBM系に移行すると2バイト(16ビット)に収めるしかなく、ユーザーに「容量が無駄すぎる」と怒られましたが、データ再設計しない限り仕方ありません。独自なのは便利ですが大変です。

 

なおACOS-6のCPUは独自からIntel Itaniumに移行後に独自(NOAR-6)に戻りました。

www.itmedia.co.jp

 

この他に中規模向けのACOS-4や、小規模向けで弟分のACOS-2もありますが、これらはバイトマシンです。

jpn.nec.com

 

NECは「ACOSはまだまだ続けます」宣言を発表しました。

jpn.nec.com

 

ロードマップの図の「次々々機ACOS」との記載はちょっと過剰にも思えますが、NECに限らずロードマップ発表は競合他社からのリプレース攻勢への対抗策でもあります。(ただし損害賠償訴訟防止の「保証ではなく変更の可能性もあります」とのディスクレーマー文言が付いているのも各社同じです。)

 

そして日本のメガバンク勘定系では唯一のACOSとなった「緑の銀行」ですが、次期勘定系にもACOS後継機を使用予定と発表済です(もちろん勘定系の中心部以外はオープン系サーバー群ですが)。

xtech.nikkei.com

 

⑥(おまけ)メインフレームには含まれない中型コンピューター

ところで「メインフレーム」には含まれない中型(ミッドレンジ)にも先進的なコンピューターは存在します。日本では単純に「各社独自仕様のオフコンなんて過去の遺物でしょ」とか思われがちですが少し触れます。

 

例えばHP NonStop(旧タンデム、コンパック)は「無停止コンピュータ」で、全部品の冗長化に加えて障害発生時のデータ損傷ゼロを目指したフォールトトレランス性を持ち、なんというかハードウェアを含んだ全体がデータベースみたいな感覚です。日本の金融機関の対外接続(フロントエンド)などにも使われています。

 

またIBM i(旧System/38、AS/400、iSeries)はIBMの次世代システム(Future Systems)の技術を取り入れて、シングル・レベル・ストレージ(ディスク上のプログラムもメインメモリに移動せず実行できて仮想メモリ不要)、ハードウェアへのRDBMS標準搭載など、かなりユニークです。

www.imagazine.co.jp

 

私が思うメインフレームの本当の特徴は

①身近なメインフレームの影響

メインフレーム由来の技術やトリビアと言えば......

 

また大手銀行のATM入出金も、基本はセンターの勘定系メインフレームトランザクション処理を完了してから結果を返しているので「間接的にはメインフレームを操作している」と言えるかも知れません。

 

②OSが違えばタスク管理も違う

IBMメインフレームの中でも、主力のz/OSの他、中規模向けのz/VSE、オープンなLinux、仮想化OSのz/OS、特殊なz/TPFなど複数のOSがあり、タスク管理なども違います。

 

たまに「いまどきバッチがタイムシェアリングではないなんて!」とかの話も聞きますが、スループット重視ならI/O割り込みの方が有利なのは自然で、要は選択や組み合わせかと思います。

 

IBM

  • z/OS - OS/360やMVSの子孫で大規模向け。ジョブ(JOB)やプロセス(STC)やTSOユーザー(TSU)は、各起動時に生成された独立したアドレス空間内で動くので、堅牢性が高い事が特徴です(複数アドレス空間)。またPOSIX準拠のUNIXシステムサービス(USS)も含みUNIXブランドも取得済です(USSを除いたz/OS自体は技術的にはUnix系とは到底言えませんが、移植には便利です)。
  • z/VSE - DOS/360やDOS/VSEの子孫で、中規模向けでz/OSの弟分。z/OSよりアドレス空間が少なく、ジョブやプロセスなどはアドレス空間内の区画内で動きます。またJCLではなくJCS、TSOではなくICCFなど色々違い、昔からz/OSに統合されると噂されながらも続いているところが互換性・継続性重視の世界ですね。
  • z/VM - CPやVMの子孫で、VMwareXenの元祖のようなオンライン指向の仮想化OSです。仮想マシン(VM)を作成して、ゲストOSとしてz/OSやLinuxや付属の軽量OSと言えるCMSなどを同時に動かせました。このCMSはOS管理のほか、多数を動かせばマルチユーザーの安全な仮想環境が作れるので、今のデスクトップ仮想化のように、教育機関・研究所・社内電子メールなどにも使われました。
  • Linux - IBMメインフレーム上でネイティブまたはz/VM配下で動くLinuxで、SUSEなどが提供してます。専用OSの堅牢性などはありませんが、メインフレームのハードウェアのI/O能力や保守運用が欲しいユーザー向けと思います。
  • z/TPF - 大量トランザクション処理に特化した特殊なOSで、航空会社などで使われています。 

 

富士通

  • MSP - 富士通メインフレーム用のIBM MVSの互換OSとして誕生した。ライバルのMVSは24ビット・アドレッシング(仮想記憶16MB)から、31ビット(仮想記憶2GB)のXA、64ビット・データ空間のESA、64ビット仮想記憶のz/Architectureと拡張しましたが、MSPは31ビット対応までです。

 

(日立)

  • VOS3 - こちらも日立メインフレーム用のIBM MVSの互換OSとして誕生し、基本は31ビット拡張までで、一部64ビット機能があるようです。

 

以下はIBMIBM互換系がまとめて載っていて比較できて便利です。

arteceed.info

 

③現在の信頼性とは

メインフレームは性能と信頼性」と言われますが、現在は規格や製造の共通化も進んで、オープン系と機械自体には極端な差があるわけではなく、残る本当の大きな差は、むしろ地味な設計思想(仮想化、組織役割分担、ロギング、保守性)などと思います。

 

例えばIBMメインフレーム(主にz/OS)では......

  • ハードウェアとプログラムの分離で堅牢性が高い。プログラムからは自分自身のアドレス空間と、データ用の共通メモリ(CSA/ECSA)しか見えず、別のアドレス空間で動く隣のプログラムへの「悪さ」は原理的に不可能なので、バグ・脆弱性・悪意・クラッシュ・ハッキングなども影響最小化されます。これはSystem/360以前からの各種エミュレータ(仮想化技術)や、MVS (Multi Virtual Storage)以降のアドレス空間分離によります。オープン系でも仮想VMやコンテナなどで分離も可能ですが、MVS系では全ジョブ標準です。(これは富士通MSP、日立VOS3なども同じです。)
  • 開発(プログラマ)と運用(オペレータ)も分離プログラマと運用(入出力、使用メモリ上限、優先順位、先行関係など)は、JCLで明確に分離されます。良く「JCLはシェルの一種」との説明を見ますが、オープン系はユーザーがコンピューターを便利に使える事が基本で、シェルは任意の便利機能で、プログラム内でファイル指定もOSコマンド発行もできます。もちろんオープン系でも各種権限を絞って役割分担しますが、考慮漏れ、設定漏れ、脆弱性、運用ミス、セキュリティ攻撃などで差が出たりします。
  • コンソールも分離。OS起動などハードウェア操作はハードウェア管理コンソール(HMC)、OS操作はマスターコンソール、プログラム開発はTSS端末(のエミュレータ)と、こちらも分業です。ISPF/PDFなどTSS端末から一部OSコマンド投入もできますが、基本は分離で、個別に権限付与します。オープン系では権限があれば基本なんでもできて設定やツールで分業するのと、反対の設計思想です。
  • 障害時の原因追及。程度の話なので説明しにくいですが、メインフレームにも障害や原因不明は山とあるものの、各ハードウェアやソフトウェアのログや取得資料がオープン系よりも詳細なため、経緯や内部動作が解明できて原因追及・修正作成できる場合が多いと思います(高価なので当然でもありますが)。
  • 修正時の個別FIX。あまり語られませんが、メインフレームのOSや主要ミドルウェアは、不具合や新機能の修正(FIX、APAR、PTF)を適用する際に、SMP/Eなどのツールで管理して、その前提PTFも洗い出して、必要最小限の修正のみを適用して影響最小化・リスク軽減する事が一般的です(バージョンアップは数年単位で別途計画する)。これがオープン系では、単体FIXはあっても限定的で、累積FIX(フィックスパック、サービスパックなど)の適用しか方法がない場合も多く、変更範囲が増えてリスクが高くなります。(クラウドでは良くも悪くも強制適用が基本ですが)。

arteceed.info

 

④例えるなら

メインフレーム例えるなら電車かな。

 

国や街を作るときに、通勤に普通の自動車を多数使えば、調達も容易で、少ない訓練で済み、急なルート変更も楽々です。しかし電車を整備すれば、莫大な費用と専門スキルが必要ですが、少ない職員が大量の通勤客を載せて環境負荷も少なく正確に運行できます。

 

どちらが良いかは文化にもより、個人の自由を重視するアメリカは車社会、社会秩序も重視するイギリスや日本は電車の比率が高いように、流通業界は安く柔軟なオープン系、金融業界は集中管理でき監査対応もしやすいメインフレームの比率が高いと思います。

 

最初に都市計画を作って進めるか、身軽に個々の課題をクリアし続けていくか、という方法論の違いな気もしますが、リスクは常にある以上、片方が「正解」とか「間違い」と断定はできなと思います。

 

COBOLとバッチで古臭く非効率?

これは両論ありますが、日本では国産メインフレームの機能拡張が止まってしまった事も背景にあると思います。

 

20年前から以下見解がありますが、今も基本は変わっていないと思います。

zシリーズの場合は、オープン系を含めた包括的なソリューションを提供することで、逆に、以前からのメインフレーム系のサポートも続けられる。ところが、そうではない日立、富士通のユーザーはどうするのでしょうか? いわゆるレガシーの問題が大きくのしかかってきていますよね?

 

IBMは、全世界にまたがる多数のユーザーと自らのビジネスを守るために、オープン環境と従来のアーキテクチャが共存できる「zシリーズ」を世に送り出した。この「z」は、C/S方式の脆弱性や運用の複雑化を嫌う世界の大企業ユーザーに受け入れられ、既存のシステムを吸収しながらデータベースサーバーとしての地位を確立しつつある。

 

一方、富士通、日立といった日本のメインフレーム・メーカーはどうしたのか。オープンサーバーの出現でIBM互換機路線と縁を切ることができると考え、早くからオープン環境に適合できるサーバーの開発に傾注していった。当然、既存のメインフレームシステムはアーキテクチャの継続性が保証されなくなり、その時点からレガシーへの道を歩み始めたのである。

 

ascii.jp

 

以下も20年前ですが、似た趣旨かと思います。

日本はメインフレーム大国である(略)日本は世界の中で最もメインフレームを出荷し続けている国となっている。

 

米国のほとんどのメインフレーム・ユーザーは、オープン・ソフトウェアを使っている。そのため、メインフレームが自社の要望に合わなくなれば、すぐにオープン・システムへ移行できるが、日本ではそれができなくなっている。つまり、米国のメインフレーム・ユーザーは、時代に則してオープン・システムに移行できるのに対し、日本のユーザーはメインフレームと心中するしかない状態にあるわけだ。

 

atmarkit.itmedia.co.jp

 

⑥絶滅するの?

10年後にはメインフレームは絶滅する」は、1990年代からマイクロソフトが言い続けていますが、それは技術的見解というより、当時から金融業界や官公庁などへのNT進出に熱心なマーケティングもあったと思います。

 

またIBMなどメインフレーマーは逆に、2000年代以降はあまりメインフレーム(最近ではサーバーも)を前面に出さず、クラウド・AI・ブロックチェーン・量子コンピューティングなどを宣伝しますが、これも企業イメージ戦略を含めたマーケティングでしょう。(ソリューションを提案して、製品やサービスはその中で販売する。)

 

マスコミはマッチポンプで双方に記事を販売でき、メーカーは「自社パンフより中立的」な販促ツールを得て、ユーザーも社内でシステム部門が財務部門などへの説得材料になるという「三方よし」ですね(笑)。

 

そもそもコンピュータは道具なので、オープン系などの汎用機器で済めば通常はその方が有利ですが、差別化として投資する企業がいる事も事実ですし、結果的に成功するかはケースバイケースです。

 

時代と共にオープン系やクラウドの比率が高まるのは自然ですが、メインフレームやオープン系の片方が絶対悪や理想のように言うのは、ちょっとマーケティングに踊らされていると思います。

 

少なくともCOBOLなどの言語自体への批判は見当違いかと思います。COBOLFORTRANに次ぐ元祖業界標準(オープン)言語で、多くの大手ユーザーで現役ですし、多くのミドルウェアでサポートされ続けています。

 

逆に世界的にはメインフレームでCやJavaも多く使われていて、COBOLは単に選択肢の一つにすぎません。(日本では進化が止まってしまったシステムが多く、その言語にCOBOLが多いという話と思いますが、それはCOBOL自体に問題がある話ではありません。)まぁ私はS/370アセンブラーかPL/IREXXでしたが全て忘れました(笑)

 

www.ibm.com

 

(さいごに)

メインフレーム全体で、入門的な記事には以下もあります。これも日本的に、最初のメインフレームはシステム/360と書いていますが。

atmarkit.itmedia.co.jp

 

ブログを書く効率が悪くて2週間かかってしまい話もあちこち飛びましたが、読んで頂きありがとうございました(ペコリ)